MacBook – CPU throttling on Macbook with bad battery and Catalina

batterycatalinacpumacbook pro

I've seen some answers for this but it references older systems and older OSes.

Can anyone update this for relevance in the Catalina era. I have a Macbook10,1 with a shot battery. The screen is broken so I am using it strictly as a media/airplay server to my TV and have no plans to fix the battery whatsoever. I would really like to recover the performance on this.

I have tried the remedies in other posts and the problem is there is no plist file with my Macbook model. One user mentioned letting the computer go into "default power saving mode naturally". But what does this mean? Can it be made into a script?

Finally — i heard that w/o the battery GPU is also curtailed. Is that true and can there be a wholistic fix for all of this? Thanks in advance!

Best Answer

The CPU throttling due to battery is triggered by the firmware and it doesn't make any difference what version of macOS (or other OS) you are running.

However it is easy to override the throttling on a MacBook if you use Windows as a OS but not if you run macOS. If you don't want to replace the battery and the programs you want to run are available on Windows that would be the easiest/cheapest option.


I have a late 2012 MacBook Pro with a i5-3210 CPU which has a base clock of 2.5 GHz and max Turbo of 3.2 GHz. It has no battery as it swelled too much to fit in the case so I removed it. Like you I've no intention of getting a replacement and so in macOS the CPU is now throttled to 1.2 GHz.

With Intel Power Gadget you can easily see it.

Intel Power Gadget

The reason for this is that the EFI firmware sets on BD PROCHOT which is a CPU register (msr 0x1FC) usually used to tell the CPU that some other component (GPU or whatever) is overheating. This will cause the CPU to throttle even though it is not itself overheating. This is described in IntelĀ® 64 and IA-32 Architectures Software Developer's Manual Volume 4: Model-Specific Registers

Although there are various macOS utilities to change other MSR (such as Turbo Boost Switcher) I can find no way to turn this one off in macOS. This is quite surprising as people facing throttling due to removed batteries is a fairly common issue. I tried to write an EFI program to do this myself but could not get it to work - see Stack Overflow question How to make changes to msr 0x199 from EFI stick?.


On Windows however there is a program called ThrottleStop which easily lets you turn off BD PROCHOT. As you can see with it set on (as it is by the MacBook firmware) the clock is limited to 1.2 GHz.

BD PROCHOT on

If you turn off BD PROCHOT and set the multiplier to 25 you can get the 2.5 GHz.

BD PROCHOT off

In theory it is possible that at peak load you could take more power than the power adapter alone can supply resulting in a shutdown. This is perhaps the reason Apple set this register on. However this has never happened to me and I've been running it like this almost 24*7 for the last couple of years.

If you did find it was shutting down you can set the multiplier to a lower number to reduce peak power draw. You can even set a higher multiplier for increased performance if you wish but I never felt the need.