Can I reduce the CPU speed of my MacBook when on battery?

I've got a MacBook with a Core 2 Duo CPU. I've got CoreDuoTemp installed which can show the current speed of the CPU. It appears to always show:

Mini : 1.0 GHz
Maxi : 2.0 GHz
Current : 2.0 GHz

I believe my laptop would run longer on battery if it were to run at a maximum of 1 GHz. Is there a way to configure this, or is the CPU speed adjustment completely automatic?


Solution 1:

You could try the pmset command for power-management settings:

pmset -b reduce 1

-b       for battery mode only
reduce   reduce processor speed (value = 0/1)

But I'm not sure it will have the desired effect.

Solution 2:

You cannot manually limit the CPU speed to 1 GHz.

You can optimize for battery life.

Go into your System Preferences, and pick the Energy Saving Settings (the light bulb). Set the first dropdown to Battery, and the second to optimize for saving energy (my Mac is set to Dutch so I don't know the exact wording for this option in English. That should optimize your CPU settings.

Solution 3:

It's not the frequency that "wastes" battery life, but the voltage. Normally higher frequencies need higher voltages - more heat is released, the fans have to work and so on.

CPUs are not the same when they come out of the factory - they all receive voltage that 99% of them work with. A percentage of them will work well with lower voltage.

Some of them are sold as ULV (Ultra Low Voltage CPUs) that are expensive to buy because they have better performance for less wattage and less impact on battery life. You have to check your particular processor.

One application that was nice for Mac OS X is CoolBook. It easily undervolts your CPU if you want the frequency.

Undervolting is safe. It's not the same with overclocking or overvolting. When you try to run with lower voltage at 2 GHz for example, you will get to a point where your computer will shut down. So the ideal voltage will be a little higher than that point.

To give you an idea: my CPU with a nominal frequency of 2 GHz normally runs at 1.2625 V. But it actually runs well at 2 GHz with just 1.0750 V. This difference has a huge impact on battery life and heat, resulting in a lot more battery life without losing performance.

As technology evolves, the factory sweet point for the majority of CPUs is more personalized. But you can still optimize a lot!

Solution 4:

Short answer: No.

The processor will automatically adjust its speed according to usage. The only way to limit the CPU speed is to remove your battery (at least on older Macbooks that works) and rely on the Magsafe, although that does defeat the purpose of what you are trying to do.