Where does the pmset CPU_Speed_Limit variable come from, and how to modify it

The man page of pmset states:

pmset must be run as root in order to modify any settings.

Yet I cannot find out how to alter the CPU_Speed_Limit variable. I'm not a registered Apple developer, but I have searched some of their archives with no success.

$ pmset -g therm
Note: No thermal warning level has been recorded
Note: No performance warning level has been recorded
2020-11-24 13:10:40 +0100 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs  = 8
    CPU_Speed_Limit     = 35

BACKGROUND: The reason I wish to know the answer to my question is because my MacBook Pro (15-inch, Early 2011) High Sierra 10.13.6 is throttling my CPU unnecessarily as it's running very cool (roughly 50˚C via smcFanControl). I am running my MBP on AC power and without a battery as I'm waiting for a replacement battery from a third-party. I'm not sure if my AC adapter is an original Apple power adapter, and I'm not sure if that is affecting the SMC. I've cleared NVRAM and done an SMC reset (without battery), but I still have the above issue. The battery I removed was an original Apple battery, albeit with a third party adapter at the time. The battery was grossly swollen to the point where the touchpad wasn't working.


I cannot find out how to alter the CPU_Speed_Limit variable.

You can't.

It's not a variable in the sense that modifying it will increase/decrease your performance. It's more of an indicator as to what the limit is currently; it's similar to your battery's current charge status - what it is at the time it was measured.

As correctly stated in the comments, your Mac will limit performance when the battery is missing: Broken battery - downgraded performance

Unfortunately, you'll just have to wait until the replacement battery arrives and you install it to regain full performance from your Mac.