MacBook – kernel_task taking too much CPU despite low CPU temperatures

kernelmacbook pro

I have a MacBook Air 2013, which randomly started having issues with the fan speed shooting up (from booting and no applications running) and just completely slowing down. Apple said it was a problem with the SMC controller and logic board. I have reset the SMC 10 times and wiped the laptop. Finally, I have downloaded TG Pro which has solved the fan issue but the Kernel task is still eating up CPU even though the CPU temp is around 45 degrees. Any clues?

CPU PECI 46 degrees.

Activity Monitor: kernel_task 258.1% CPU

Best Answer

All signs point to your system that measures temperature is out of spec or failing/failed. It’s also likely software is piling on, adding legitimate load to the kernel, making the issue worse.

One SMC reset a month is too often to cure any physical defect. Second and third resets too quickly won’t help you.

A single SMC reset cures a wrong state measurement if that’s the cause of an issue. You won’t have to do that again for months on functional hardware in my experience.

Sadly, the cost to diagnose and fix a main board is high so most people do the swap as Apple recommended if you can’t live with the system design to let kernel task protect the system.

Too high CPU is a judgement / budgetary call on how much you value your time and not so much a technical issue.

The system does what it’s designed to do based on measurements. Worse, installing software to track temperature moment to moment can put enough load on a system to cause CPU spikes and add legitimate work kernel_task now has to perform while its stalling - simply observing the system can change it. You might have to remove all modifications to tell if your software is the cause here.

To test a clean system you need a cheap USB drive that holds 32 GB and network that can download about 15 GB of data from Apple. You can do the test faster with fast internet and speedy external storage, but a weekend and cheap parts, slow internet is all that’s needed to run a clean new OS to validate your SMC and kernel_task isn’t a software issue.