Why is kernel_task eating my CPU?

There’s been a recent resurgence of interest in an old thread elsewhere about MacBook Pro models overheating when being charged and connected to external devices using the USB-C ports on their left side alone.

One key feature mentioned here is that users who have this problem have noticed that a process named kernel_task has also been consuming almost all the CPU, as shown in Activity Monitor. As the significance of this cardinal sign hasn’t been recognised by many expert users, and the warmer weather is drawing near, now is the time to remind ourselves what kernel_task does, and what this means.

So, your Mac goes all sluggish, you open Activity Monitor, and there at the top of the CPU list is kernel_task, taking 100% or more. Why is that, and what should you do about it?

High CPU load by kernel_task often means that your Mac is getting too hot somewhere, or is at risk of heating up. In the example quoted above, the cause is in a thermal sensor placed by the left USB-C ports in many MacBook Pro models. kernel_task isn’t causing the thermal problem, it’s part of your Mac’s response to it.

Your Mac’s thermal sensors are monitored by a sub-system named Core Duet, which together with the SMC manages its internal environment and services. When a process runs away and takes over the cores, or any of the internal thermal sensors registers an abnormally warm temperature, Core Duet responds with a set of actions to try to keep it cool. These include its active cooling system of fans, which are run up to speed to blow cooling air over the most sensitive components, and easing off CPU load. Where possible that slows processor speed, and blocks any runaway processes by occupying the CPU with kernel_task.

So kernel_task‘s high load isn’t a cause of the problem, it’s part of the normal cooling response.

In the past, some users have taken to meddling with this system, by trying to stop kernel_task from doing its job. That’s a bit like stopping someone who’s sweating because of the heat from drinking to replace their fluid loss. It will only make matters worse.

When the fans get loud and kernel_task hogs your CPU, it’s time to do all you can to let your Mac cool down. Ensure its vents are unblocked, and cooling air can enter and exit freely. Quit Activity Monitor and anything else which might increase the thermal load.

There are rare occasions when fans blow full on and kernel_task goes wild without any thermal problem. In those cases, resetting the SMC is usually curative, but it may be the result of a fault in a thermal sensor, or in the SMC itself. Hardware diagnostics are usually helpful, or one of several apps which let you check on sensor readings. By far the most common cause of more persistent problems, though, is dust and debris in the air ducts. And now apparently overheating the left USB-C ports.

For more details, see Apple’s note about kernel_task, and my previous warning.

Stay cool, both of you.