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

9

4

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?

Greg Hewgill

Posted 2009-07-19T03:02:11.680

Reputation: 5 099

Answers

5

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.

splattne

Posted 2009-07-19T03:02:11.680

Reputation: 14 208

2Thanks a lot splattne! I've tried the suggested "PM command" and it successfully worked! Immediately extended battery lifetime from 2:31h to 5:48h!!! – None – 2012-07-22T07:50:47.243

Thanks, this appears to be the most specific answer. I tried pmset but it didn't seem to change the observed behaviour. – Greg Hewgill – 2009-07-19T21:49:28.583

4

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.

dyve

Posted 2009-07-19T03:02:11.680

Reputation: 1 208

I've done that, and have the display dim reasonably soon when on battery, and shut off the display after a few minutes, and sleep the hard disk when possible, etc. I just thought that since I rarely do CPU-intensive stuff especially while on battery, I would hardly notice if the CPU was speed-limited to 1 GHz. – Greg Hewgill – 2009-07-19T06:34:40.100

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!

Carlos Gonzalez

Posted 2009-07-19T03:02:11.680

Reputation: 31

I was referring to dynamic frequency scaling in this question. Power consumption is linearly related to operating frequency. Dynamic voltage scaling is something different.

– Greg Hewgill – 2012-12-29T18:40:22.247

2

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.

Josh Hunt

Posted 2009-07-19T03:02:11.680

Reputation: 20 095

Can't you underclock the CPU? – Ivo Flipse – 2009-07-19T05:59:56.813

0

In windows Vista/Seven you can do this. You can set minimum/maximum CPU % usage for every power scheme, plus you can set passive/active cooling method.

user31518

Posted 2009-07-19T03:02:11.680

Reputation:

1I suppose I didn't actually say so, but my MacBook runs OS X and I intend to keep it that way. – Greg Hewgill – 2010-04-09T10:02:56.913

0

Unfortunately, on Windows 8.1 when you set up max CPU usage to 99%, the Turboboost is completely turned off on my MBA mid-2011. (And the Max frequency ends up with 1.7Ghz instead of 2.7Ghz turbo frequency). I'd like to have 2.2Ghz or 2.0Ghz max instead of 1.7Ghz.

However, this'll reduce a lot the maximum fan speed.

Yesterday i replaced the stock thermal paste with Artic MX-4, the temps are still the same, but the fan speed was decreased. And now the thermal throttle is more difficult to get it activated.

thesebastian

Posted 2009-07-19T03:02:11.680

Reputation: 1

0

Even if you could, I really doubt this will help with your battery life usefully..

The CPU will throttle itself automatically, I would guess CoreDuoTemp is simply reporting the current (throttled) speed incorrectly..

dbr

Posted 2009-07-19T03:02:11.680

Reputation: 4 987