The current design of the maintenance manager includes a dedicated thread that wakes up every so often (default to 250 ms), looks for work to do, and schedules it to be done on helper threads. On a large tablet server, "look for work to do" can be very CPU intensive. We should explore ways to mitigate this.
Additionally, if we identify "cold" tablets (i.e. those not servicing any writes), we should be able to further reduce their scheduling load, perhaps by not running the compaction knapsack solver on them at all.