MacOS – Very high kernel_task CPU usage after updating to Yosemite 10.10.4

cpukernelmacos

I updated to 10.10.4 on July 1, and ever since I've had very high CPU usage – roughly 270%, i.e. two and a half of four processors – by kernel_task.

It appears on login for about five minutes, then drops to 0. If I start Safari or Chrome or Parallels, it reappears, and this makes me wonder if it's related to the network. I know there were DNS changes in 10.10.4 – could it be related?

I have:

  • Tried running without external displays (there are several bugs about high CPU usage with an external monitor)
  • Removed all login items, and all automatically starting apps
  • Removed all items in /Library/LaunchAgents, /Library/LaunchDaemons, /Library/StartupItems
  • Checked I don't have anything odd installed. The only thing was flux, and I removed it. I do still have Crashplan installed but ensured it was set to only work twice a week – which is not today. I also have and use Parallels Desktop 10 (latest update), and sometimes it seems the high CPU usage is related to starting it. However, quitting it does not restore CPU usage to normal.
  • I don't think it is heat-related; the CPU temperature is the low end of normal, and fans are running normally, and the laptop has good airflow and I can't feel "hot" air coming from it, only normal temperature air.
  • Booted in safe mode. This was fine and I had normal CPU usage. This makes me think it must be a kernel driver or similar issue.
  • I ran EtreCheck, which shows the only kexts loaded are com.parallels.kext.hypervisor (10.2.1 29006 – SDK 10.7), com.parallels.kext.netbridge (10.2.1 29006 – SDK 10.7), com.parallels.kext.usbconnect (10.2.1 29006 – SDK 10.7), and com.parallels.kext.vnic (10.2.1 29006 – SDK 10.7).
  • However, my battery health is 'Check Battery' – could that be related? Despite the health status, it has done 590 cycles and this model is supposed to only be consumed at 1000. Odd; not sure why that would be / what it means.
  • System.log: nothing obvious. I sat watching it for several minutes and didn't see anything added to it. Scrolling back showed lots of messages, but nothing that seemed like fast repeated failures or anything that might explain constant CPU usage. I browsed the other logs as well and didn't spot anything.

Examining Activity Monitor, all CPU usage is shown as in kernel_task itself, not any descendant apps.

I have an early 2011 model 15" MBP, which up until 10.10.4 Yosemite ran really well on.

Any ideas on how to analyze and resolve the issue?

PS: Although the weather is hot (it's 35 degrees C – Europe is having a heatwave) it is unlikely to be this issue since smcFanControl shows a steady 65-67 degrees C, the low end of a normal temperature range. Both fans are spinning at 6000RPM, but that too is normal. Ambient temperature today and yesterday is the same as it was before I installed 10.10.4, but the high CPU usage of kernel_task occurred only when 10.10.4 was installed. That's the key difference. Something in relation to 10.10.4 causes high CPU usage.

Best Answer

As far as I am concerned kernel_task was always trying to tell me that the computer is running hot. It seems to be a strange countermeasure which occupies the CPU with a low energy No-Op task which prevents it from doing "hotter" things. So you should be looking for that "other" process eating up the rest of your CPU time.

However I noticed very high CPU usage of Safari ever since I update do Yosemite 10.10.4. The browser visibly (in Activity Monitor) starts several processes now and two of them (Safari Networking and nsurlstoraged) routinely take up a lot of CPU, especially Safari Networking often takes more than 50% of one CPU. It seems to be less constant now, so maybe there is some "trickle down" effect on this one.