I would like to limit kernel_task's CPU usage on my computer. I provided cooling for my MacBook Pro, cleaned out the internals, and tried resetting the SMC multiple times. I haven't tried re-installing macOS 10.12 yet, but do that every once in a while.

kernel_task's CPU usage often makes my laptop unusable, and the only fix for this is to leave my computer wait until my mouse can move smoothly.

Is there any way to limit kernel_tasks CPU usage during/for spikes?

I have a mid-2012 MacBook Pro (model w/ superdrive), 16gb ram, 1tb+500gb drives

  • 1
    I doubt that this would be the best approach for solving your problem. Instead I would diagnose why kernel_task uses the CPU time - it seems you think this is related to temperature. That might be so as it is one of the functions of kernel_task, but it might be something else. If it is temperature related, and you have fixed the cooling, this could indicate that you have a sensor problem instead. Please detail exactly which Mac you have, and which temperatures your sensors report during the problem, and when the problem is not present.
    – jksoegaard
    Commented Apr 28, 2019 at 7:58
  • 1
    @jksoegaard edited. The temperature of my CPU when this problem happens varies, but it's usually around 75-85ºC I think. I haven't noticed a major temperature change before/during/after kernel_task spikes
    – Sam
    Commented Apr 28, 2019 at 10:35
  • That seems to indicate that this has nothing to do with the cooling (which you indicated in the question). So you would want to look at else you have running on the computer while this happens (i.e. third party programs, etc.). You can start by checking Activity Monitor to see what is active at the same time.
    – jksoegaard
    Commented Apr 28, 2019 at 11:47

2 Answers 2


Kernel_task is not just one process, but a representation of all the kernel's input and output. High k_t usage can be a symptom of problems, rather than a cause in itself that needs to be corrected.

Causes could include third-party kexts, Spotlight indexing, or other background processes. One of its functions is to use up CPU as a means of restricting other processes, in order to prevent overheating.

I had that model of MBP and did not observe it becoming 'unusable' ever, so it may be some issue relating to your installed software or preferences.

There is little need or benefit to re-installing the OS on a regular basis.


You cannot limit kernel_task since it is the enforcer of all tasks and does the limiting and scheduling of other tasks that run.

To reiterate, kernel_task only does two things when it’s showing high CPU allocation:

  1. When the CPU measures too hot temperatures, it throttles things. It’s not busy, it’s just putting one or more portions of the processor in time out until it cools to the programmed thermal envelope.
  2. It does work that other programs request of the system.

You mention you already are addressing cooling, so you can now look at quitting whatever other apps are tasking the kernel so that you get back to idle. Are you able to know what other programs run right before the kernel is busy?

Hopefully it’s other programs demanding kernel services and not that your CPU has a bad temperature sensor or just runs hot and is about to need to be replaced. It’s very unlikely, but chips can fail in ways that manifest as an inability to do the normal workload.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .