After removing the battery from a MacBook late 2009 following a battery fault, the computer always runs kernel_task at 100% CPU utilization. I assume the process ends up in some kind of spin lock when looking for the battery and failing to do so. Is there a work around to prevent this issue? While waiting for a new battery, I would like to use the computer in a useful way on connected power.


The procedure mentioned here, involving the removal of one specific system file, will probably disable the sensor check and prevent the kernel task from gobbling up your CPU, while waiting for your battery: https://apple.stackexchange.com/a/146381/226332

| improve this answer | |
  • Does this still work on High Sierra (10.13+) ? I thought it was not possible anymore since Sierra. – Xvolks Jun 29 '19 at 12:56
  • It should work but because of the System Integrity Protection you might have to boot from another system to be able to delete the approperiate file – Lars A. Gundersen Jun 30 '19 at 11:20
  • I had to boot into recovery partition on macOS High Sierra, open the terminal there and move the file (as described in the linked thread) with mv. Then reboot and you should see the battery check solved. However, I noticed some unexpected side effects, such as the MRT process sometimes using a lot of CPU after boot, likely triggered by macOS after noticing the file missing. – user73014 Jul 6 '19 at 11:50

Usually when our Mac is running insanely slow with fans at full speed, it is a sensor issue. You may try to find on the Internet ASD (Apple Service Diagnostic) for your motherboard.

Alternatively you may boot with the D key pressed to enter the diagnostic mode.

Check which sensor (if any) is failing.

See Louis Rossman’s videos on YouTube. He talking about those issues.

| improve this answer | |
  • I know it’s simply because the battery is removed. But is there some workaround while I am waiting for a new one? – user73014 Jun 29 '19 at 8:07
  • AFAIK either you put back the battery if it’s safe, or you’ll have to wait for a replacement part. – Xvolks Jun 29 '19 at 8:44
  • 1
    But there has to be a way to stop the corresponding kernel extension from polling data from the battery? This is not a useful failure state – user73014 Jun 29 '19 at 8:48
  • The sensor are hardware stuff. They drive chips on the motherboard, macOS is very tight to the hardware and hacking into the kernel is not that easy. You may try to run a Linux live cd to check if it’s a macOS Issue or a hardware issue. – Xvolks Jun 29 '19 at 9:06
  • I don’t want to „hack“ the kernel, I assume that there has to be a built-in way to disable the first party kernel extensions running wild – user73014 Jun 29 '19 at 9:47

MacBooks - all types and models - are capable of demanding - and getting - 20% to 45% more power from the battery than is available on the charge supply. The machine runs from the batteries exclusively at all times, unless the battery is removed or a problem is detected and it is switched out of circuit, whereupon the machine will self-throttle so as to not exceed the available charge current.

| improve this answer | |
  • Yes, however I see no indication that the described behavior is the throttling. Throttling might occur in addition. Actually, this causes the opposite, meaning that there is always near 100% CPU load from the kernel alone. I suspect this is a bug in a function trying to poll the battery. – user73014 Sep 9 '19 at 16:17
  • "100% CPU load from the kernel alone" is the throttling : kernel_task does loop on null operations in order to take over the real operations and so slow down the system. – challet Dec 10 '19 at 0:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .