rMBP kernal_task cpu spikes when connecting more than 1 external monitors

rMBP kernal_task cpu spikes when connecting more than 1 external monitors

This “bug” bother me frequently, and I don’t know why? I didn’t thought that’s related to connecting more than 1 external monitors, so I always search for “kernel_task high cpu”, which leads to similar fix than what I found lately.

TL;DR;

  • If this problem is highly correlated with connecting to more than 1 monitor and you don’t really need that much monitor. Then the easy fix is throw 1 of your monitor for other task, and working with only 1 external monitor.
  • There’s a scientific way to figure out which kernel extension cause the issue. If you like to fix it in this please read following text.

So there’s some falty kernel extension which trick the kernel_task, and kernel_task try to steal CPU time to cool CPU down. Which make the system very un-responsive. This issue normally took couple of hours of my time, I can’t get back to productivity.

I thought those 3 things may fix it:

But those method is like Voodoo 🙂 I even tweeted SMC reset fix my problem, but it turns out not true.

Until I finally found the issue is correlated of connecting to more than 1 monitors. Yes, do not connect to external monitor or connecting to only 1 monitor fix the problem. And my daily setup is connecting the rMBP (MacBookPro11,3, MacBook Pro Retina, 15-inch, Late 2013) to 2 monitors: 24 Inches Dell and 30 Inches Dell. I found unplug the monitor fix the kernal_task CPU usage issue in couple of minutes.

So I change my google keyword, and find the better answer immediately.

Those article actually is mostly overlap with How to fix kernel_task CPU usage on El Capitan. The difference is it tells you that you need to “poke each of the kext to figure out which one is the lemon”. This make it more like a science 🙂

Mac have serious software quality issue. But their intention is good, you can seamlessly upgrade from major OS versions. It doesn’t bother about “Drivers update” like windows (although windows 10 addressed the driver issues pretty much already). But it doesn’t mean you will load wrong thing into your kernel extension which ultimately cause weird issue. Apple also have bad knowledge base, you can’t find anything useful on their “wiki”. But noise in user forum, and Apple so very bad at indexing them.

OK, rant finish. To me this is what I learned:

  • Be careful to listen to the problem. Try to understand the symptom better.
  • Avoid voodoo fix.
  • When you find low quality result, change your search keyword. Even sometime it’s hard to craft better keyword. But the keyword is the key in search engine era.

And how to fix this issue on your macbook?

  • See if it’s related to connecting to more than 1 monitors. Because if unplug solve the problem, then you don’t need to fix it when there’s other high priority tasks.
  • Perform SMC + PRAM reset. This is almost free.
  • Disable SIP, and re-enable it when you fix it.
  • Disable the kext 1 by 1 as [Technology] kernel_task consumes almost 100% of CPU on Mac OS X suggests. Don’t follow other instruction to delete your exact mac’s plist. Just disable that kext as whole, which is easier to recover and save your google time too.
  • Make sure you Time Machine your Mac.

Finally, I need to say OS X breaks so often recently. And maybe I should say it never works correctly, it almost always accidentally barely works. Those components breaks for me frequently:

  • kernel_task, that what I complains above.
  • Keychain is broken frequently. And the keychain first aid is gone.
  • Disk integrity and permission breaks frequently, and you need to restart your computer to recovery mode to check/fix.
  • Spotlight breaks frequently.
  • The network (and VPN) is not as stable as before. But this might be a false feeling due to lack of trust.
  • Updates no longer always make the OS better.

One thought on “rMBP kernal_task cpu spikes when connecting more than 1 external monitors”

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.