I managed to squeeze an extra 1h .. 2h out of my 13" MBA's battery using CoolBook to undervolt the CPU, not sacrificing performance.
During my normal usage (alternating between browsing lightweight .. heavy web pages, watching 360p .. 720p YouTube videos (Flash, not HTML5), watching 720p / 4 mbps H.264 videos via VLC, coding in Terminal):
Before:
Each CPU is unique, some are better than others at running at lower voltages, so there's no magic set of parameters to enter for each configuration.
1. CoolBook:
Buy, download and install CoolBook: unfortunately, I don't know any other way to tweak CPU voltage.
It's not too expensive given the benefits: $10, or $12.5 for us lucky EU residents… Bear in mind that the license is strictly tied to the one single computer that the serial is first entered in. A pity.
The GUI is not intuitive. Nor does it always behave as expected. I won't go into details, anyone can figure out the shortcomings and workarounds. But once I got the hang of it, I managed to make it behave as desired.
Thankfully, given the tasks it handles, it's quite clean. Composed of 3 components:
2. Configuration: finding out optimal voltages:
a) Take note of the maximum voltage out of all default frequencies listed. In the example above (CoolBookController window): 1.0875V.
b) Clear the list, and re-add them one by one (tick B/2 for the lower ones) with the same voltage for each: the max as noted in a). Click "No" when prompted to perform a recommended stability test.
c) Run CPUTtest with Test type = small / Instances = 2 (number of cores) / Repetitions = 10 / default checkboxes. If the test passes, repeat with Test type = big.
d) If the test passes again, decrease all voltages by one notch and repeat c) until failure, to determine the lowest stable voltage. Keep track of results in a spreadsheet.
e) Move on to the the next highest frequency and repeat c) to e) until reaching either the lowest frequency, or lowest voltage (because, for example, if your lowest voltage is 0.925V and the CPU is stable at 1862 MHz, then it's also going to be stable at 1596 MHz).
3. Final settings:
The final settings should end up looking something like the following (those are for my 13" MBA):
(Exact same settings in the "Battery" tab.)
$12.5 well spent . Though I wonder if CoolBook's author is still maintaining his application. The last update is 4.5 months old at the time of writing. And so far, incompatible with successors to Core 2 Duos (incompatible with Core i3, i5, i7, first and second generation [Sandy Bridge]). At that pace, I doubt it's going to be compatible with the the refreshed MBAs (rev. E) for months, if ever .
During my normal usage (alternating between browsing lightweight .. heavy web pages, watching 360p .. 720p YouTube videos (Flash, not HTML5), watching 720p / 4 mbps H.264 videos via VLC, coding in Terminal):
Before:
- Battery life: barely over 4 hours
- Core temperature: 50 .. 80°C
- Fan speed: 2000 .. 6200 RPM
- Battery life: 5 .. 6 hours easily (that's +25 .. 50%)
- Core temperature: 45 .. 65°C
- Fan speed: 2000 .. 4500 RPM
Each CPU is unique, some are better than others at running at lower voltages, so there's no magic set of parameters to enter for each configuration.
1. CoolBook:
Buy, download and install CoolBook: unfortunately, I don't know any other way to tweak CPU voltage.
It's not too expensive given the benefits: $10, or $12.5 for us lucky EU residents… Bear in mind that the license is strictly tied to the one single computer that the serial is first entered in. A pity.
The GUI is not intuitive. Nor does it always behave as expected. I won't go into details, anyone can figure out the shortcomings and workarounds. But once I got the hang of it, I managed to make it behave as desired.
Thankfully, given the tasks it handles, it's quite clean. Composed of 3 components:
- CoolBook2.kext: kernel extension (permanent)
- CoolBookSwitcher: daemon process (permanent), runs as root, but that's acceptable given the low level settings it manages
- CoolBookController.app: GUI (temporary)
- Doesn't clobber the status bar nor the dock
- The daemon is stable: no crashes in 2 days so far, monitored by launchd anyway
- Negligible memory footprint and free of memory leaks: stuck at 664 KB since launch
2. Configuration: finding out optimal voltages:
a) Take note of the maximum voltage out of all default frequencies listed. In the example above (CoolBookController window): 1.0875V.
b) Clear the list, and re-add them one by one (tick B/2 for the lower ones) with the same voltage for each: the max as noted in a). Click "No" when prompted to perform a recommended stability test.
c) Run CPUTtest with Test type = small / Instances = 2 (number of cores) / Repetitions = 10 / default checkboxes. If the test passes, repeat with Test type = big.
d) If the test passes again, decrease all voltages by one notch and repeat c) until failure, to determine the lowest stable voltage. Keep track of results in a spreadsheet.
e) Move on to the the next highest frequency and repeat c) to e) until reaching either the lowest frequency, or lowest voltage (because, for example, if your lowest voltage is 0.925V and the CPU is stable at 1862 MHz, then it's also going to be stable at 1596 MHz).
3. Final settings:
The final settings should end up looking something like the following (those are for my 13" MBA):
(Exact same settings in the "Battery" tab.)
$12.5 well spent . Though I wonder if CoolBook's author is still maintaining his application. The last update is 4.5 months old at the time of writing. And so far, incompatible with successors to Core 2 Duos (incompatible with Core i3, i5, i7, first and second generation [Sandy Bridge]). At that pace, I doubt it's going to be compatible with the the refreshed MBAs (rev. E) for months, if ever .
Last edited: