A colleague gave me a 2010 MacBook Pro and I notice that it runs very slow when running on battery. Boot-up takes a very long time and everything is lagging. It is practically unusable. When the power supply is plugged in however, it works normally. I tried the usual prescribed troubleshooting from Apple to reset the SMC but that still didn’t fix the issue.
Finally I came across this discussion on Apple Support Communities. The root cause seems to be faulty temperature sensor damaged by liquid spill. Because the sensor is faulty, macOS assumes the system is overheating and drops the CPU cycle which in turns makes everything runs much slower.
To check if your Mac has the same issue, quit all programs and with the power supply connected, open Activity Monitor and click on the CPU tab. Check the usage percentage at the bottom. It should be minimal at around 1%. Now disconnect the power supply and see if the figure spikes up to around 80%.
Short of getting your logic board repaired, the workaround is to disable this feature by removing a system file. Keep in mind though that doing this effectively disable CPU throttling and will reduce battery life.
First, identify the model of your Mac by clicking on the Apple on the top menu bar and select About this Mac. From the About this Mac pane click on System Report…. Select Hardware in the left panel and make a note of the Model Identifier. For mine it was MacBookPro7,1.
If you’re running El Capitan or higher, we first need to turn off System Integrity Protection (SIP). Follow these steps to turn SIP off.
- Restart your Mac.
- While it is booting hold down Command-R to boot into the Recovery System.
- Click on Utilities from the menu bar and select Terminal.
- Type csrutil disable and press return.
- Close the Terminal app.
- Restart your Mac.
Now with SIP turned off, open a Finder window and click on Macintosh HD.
- Click on System > Library > Extensions.
- Locate the file called IOPlatformPluginFamily.kext, right-click on it and select Show Package Contents.
- Click on Contents > PlugIns.
- Locate the file called ACPI_SMC_PlatformPlugin.kext, right-click on it and select Show Package Contents.
- Click on Contents > Resources.
- Find the the plist file that corresponds to your Model Identifier. In my case it is MacBookPro7_1.plist.
- Move it to Trash.
Your Mac should run normally when on battery now. Lastly, you might want to turn SIP back on by following the same steps as above but typing csrutil enable this time.