MacOS – Why is kernel_task using so much CPU

cpumacosperformance

I have a Macbook Pro Retina with the following hardware:

Model Name: MacBook Pro
Model Identifier:   MacBookPro11,1
Processor Name: Intel Core i5
Processor Speed:    2.4 GHz
Number of Processors:   1
Total Number of Cores:  2
L2 Cache (per Core):    256 KB
L3 Cache:   3 MB
Memory: 8 GB
Boot ROM Version:   MBP111.0138.B15

I recently updated to OS X El Capitan; I have had the same problem occur to me twice now and it's getting me mildly concerned.

I randomly have CPU usage spikes from kernel_task, the highest of which I have seen was 660% CPU. This is frankly an unacceptable and unnatural setting for my CPU (I typically have a total usage of about 2-3%). The highest I've screenshot is this:

enter image description here

The first time, I did not record what I had open. The next time, however, I was ready, and this is the exact list of what I had open:

  • Two YouTube video pages (using the processes Safari Networking with a max of about 44% CPU, typically stabilized at 8-10% and https://www.youtube.com, which got to around 51% CPU max, typically around 10-12%)
  • Messenger. Doubtful that this had an effect, but, hey, you never know.
  • Skype. This dude was running at a consistent 50% CPU usage.

It is worth noting that I had to close both YouTube windows to actually gain enough control of my computer to open Activity Monitor. None of the aforementioned processes were spiking, just kernel_task.

Also worth noting is my fans – the fans were on maximum, blowing cold air. Even though kernel_task was spinning at 660% CPU, there was no actual heat being produced, as far as I could see.

It's at this point where I force shut down the computer – I had about .5 frames per second (1 frame every 2 seconds, was looking at the clock) and was getting nowhere when it came to even attempting to fix it.

If there is a bug related to this that I have missed, or some wacky thing with OS X in general that I'm missing, please let me know, as this is extremely frustrating and more than a little disturbing.

Best Answer

You have classic symptoms that thermal issues are causing kernel task to preemptively use up CPU to prevent overheating. If you haven't reset the SMC, try that one time. If the System Management Controller is actually stuck, the response to changing thermal measurements might lag or leave blowers on higher than they should be.

The answers above all point to things you can do to measure swap, processes, etc... but focus on thermal sensors (hardware issue) or external temperature (environment) which you can cool artificially to remove the slow down that's designed to manage heat.

If you can't measure the case temperature accurately with an infrared thermometer, try software like https://bjango.com/mac/istatmenus/ to check on the individual temp sensors and correlate them with the "spikes in CPU usage" by kernel_task. Also, resetting the SMC one time might be worth your while. If it's stuck, the response to changing thermal measurements might lag or leave blowers on higher than they should be.