Wednesday, May 1, 2013

MacBook kernel_task fix for CPU throttling (consumes all processor power)

The problem that most macbook (pro, air, etc) owners had encountered, especially when replacing a battery or running with a faulty one (or just for no reason, as has happened to me recently), is that kernel_task process takes up 100% times the number of cores of CPU time, making your Mac halt.

No usual solutions (SMC, PRAM reset) helps; dtrace showed kernel sitting in a loop forever. Turns out, it's a silly kernel extension that throttles CPU when it considers something is wrong. The idea is to prevent your Mac from overheating, by consuming all CPU power in an idle loop, but, since it is buggy, it very often does so for no real reason. Saving for future reference, instructions on disabling that extension, original post if you are interested in full details.

And the meat of that article:

sudo rm -f /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/ACPI_SMC_PlatformPlugin.kext/Contents/Resources/*.plist

All the credit goes to Rhys Oxenham, thanks for saving us all and an excellent blog!