Tuesday, November 24, 2009

Slow and Steady: Undervolting your CPU


The following only applies to Windows machines. There may be something similar for Mac and Linux, but I didn't look into it.

Why: It makes the CPU last longer, extends battery life, and makes the laptop quieter (the fan runs a lot less).

Risks: None - just the time it takes to do it.

Why it works: A standard voltage range is applied to all chips of a given type that a manufacturer makes. Each chip may have a different tolerance where it is stable, but by setting the voltage high, all of the chips in a given run will remain stable. Your chip may only be able to handle the max voltage, or it may be like mine - the min voltage for all clock speeds.

I followed this guide's advice for a while (drop the voltage by 0.025 & test for 45 minutes), then read down a ways the following comment:

I just keep the CPU stress test running and drop the voltage at the maximum multiplier at about 1 step every 15 seconds starting at 1.10V (for Intel Core / Core Duo). This very quickly finds the voltage which is definitely unstable and BSODs (keep a recod of the voltage as you drop it). I then put the voltage back up two steps and run an overnight stress test.


I ended up getting down to the minimum voltage in just a few minutes & ran a test for 45 minutes. It was stable, so I left it there. I'll run an overnight stress test this weekend.

The basics are to run three utilities together:
1) CPU Monitor to tell me the temperature of the cores.
2) A utility to make the CPU max out.
3) A utility to change the CPU voltage for each clock speed.

Keep dropping the voltage until you see the Blue Screen of Death, then kick it up two notches. You change only the max clock speed voltage as you go, then change the others once you have a setting for that (my chip has 6 steps). Once you're happy with it, you set the utility to kick off at startup (it runs once & goes away). You can always boot to safe mode & get factory defaults this way - safer than doing it at the BIOS level.

(Thanks to Uwe Hermann for the photo of a Celeron CPU)