Optimize processor power management

The first multi CPU machines was intended to be power houses for crushing any obstacles. Windows NT has from the beginning supported multiple CPU machines. Several things have changed since the first multi CPU computer:

  • Multi-/Dual-core machines has become widespread in the desktop- and mobile-market. Where the mobile market is very focused on power consumption and battery lifetime by down-clocking the CPU in the time it is idle.
  • Data centers has grown to a size where the electric bill is a notable entry on the list of expenses, along with handling the heat generated by the higher CPU temperatures. Scaling of power consumption according to work-load is increasingly interesting along with Performance-per-Watt.
Vista automatically saves power

Microsoft first caught up with the development in multi-CPU machines, with the release of Windows Vista. Previous versions of Windows fails to handle ACPI processor performance states properly, which in worst case will lead to low performance because the CPU is throttled down without regard of current work-load.

Vista introduces the term “Power Plan” and by default it uses the Balanced plan, which allows the CPU to throttle down when the system is idle. If wanting to disable the throttling (not recommended) then one can change to “High performance” plan via Power Options in the Control Panel.

  • If changing to the power plan called “Power Saver”, then it will tell Vista that the CPU should at maximum only run at half-speed.
Saving power on Windows XP

Microsoft has released a patch for Windows XP (Included in SP3), which fixes the problems of handling ACPI processor performance states on multi CPU computers. More Info MS KB896256.

Windows XP will by default be configured to use the power scheme “Home/Office Desk”, which normally will prevent WinXP from throttling the CPU. One can change or configure the power scheme by using Power Options from the Control Panel:

  • Minimal Power Management - Will enable CPU throttling if having installed the relevant processor driver (Recommended).
  • Always On - Will disable CPU throttling, and keep the CPU’s at max power.

Note to verify that Enhanced Intel SpeedStep (EIST) has been activated in WinXP, then right-click “My Computer” and select Properties. On the General-fan it should display two CPU clock numbers, one specifies the maximum speed in MHz and the other current in MHz (Current should be lower).

Note to verify that AMD Cool’n’Quiet is activated in WinXP, then one will need the utility AMD Power Monitor (Not required for the CPU throttling to work).

Note to disable throttling of the CPU completely in WinXP without regard to Power Schemes (Not recommended):

[HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Control \Session Manager]
PerfEnablePackageIdle = 0

Credits David Mathog and Caltech