Introduction AMD processors Athlon XP and MP, Duron Sempron, Athlon XP Mobile Athlon64 Opteron Intel processors Pentium II Pentium III Pentium4 Pentium4 Mobile Core/Core Duo Itanium Macintosh G3 and G4 desktop G5 desktop, G3,G4, and G5 laptops iMac Intel Core processor Technical info and raw data BIOS Windows XP power definitions Windows XP power settings Power consumption measured on various processors Power consumption measured on various displays Power consumption measured on various screen savers Power consumption measured on various printers Calculating power costs Replace CRTs with LCDs to save money? Blanking screen vs. turning off displays Links to software Feedback Copyright Copying Contributors
This page describes methods for saving power on computers using various CPUs when the machines are idle. For this discussion a machine is idle when it is in a normal operating state and nothing is running. For instance, on Windows XP it corresponds to the amount of time spent in the "System Idle Process". When a computer is used for word processing or similar data entry tasks, or displaying static documents, it will spend the vast majority of its time idling. However, if music is simultaneously playing in the background, or a USB device is active, the same machine may spend almost no time idling.
Manufacturers have designed certain features into their processors that enable said processors to drop into lower power states when signaled by the operating system that the machine is idle. The primary mechanisms are:
1. Decreasing the CPU frequency 2. Decreasing the CPU voltage 3. Temporarily disconnecting the CPU and reducing it's frequency.
By installing software to activate these capabilities the power dissipated by the idling CPU may be substantially reduced. For instance, on one Athlon XP 2000+ machine the CPU dissipated 39 fewer watts, which resulted ina reduction of the CPU temperature from 59° C to 47° C.
Additionally many CPUs may be throttled, which effectively forces the processor to be inactive during some part of each second. Throttling is typically used to control overheating on heavily used machines. However it generally doesn't save more power when the machine is already idle, and it tends to adversely affect computer performance to such an extent that the machine feels "broken", so throttling will not be further discussed here.Most operating systems can also be set to drop the machine into a standby state following a long period of inactivity. Typically this involves turning off the monitor and/or spinning down the disks. The operating system usually provides a control panel or other utility for setting this transition, so it will not be further discussed here
These CPUs can respond to an idle state by disconnecting from the front side bus and dropping their CPU frequency. In order to do so two PCR registers in the northbridge must generally be modified. In addition the length of time for a Halt or StopGrant disconnect may be controlled by a clock divisor set in the MSR. In experiments with Athlon XP 2000+ machines this divisor could be set as high as 128 without causing problems, but going to 256 caused various glitches in video and sound playback. The idle temperature decreased by about 2° C for every doubling of this divisor. Your mileage may vary.
Windows XP Instructions
1. Login as administrator
2. Obtain coolon 2.1.0 from http://coolon.o-ya.net/en/
3. Create a folder C:\Program Files\Coolon
4. Run the coolon installer and unpack the files into
C:\Program Files\Coolon
5. Double click C:\Program Files\Coolon\coolon.exe
6. Click on the PCR tab and check cooling
7. Click on the MSR tab, click Change
Change the Halt and StopGrant values to 128
WARNING! Your system might require smaller values!
Click on eVal
Click on Write
8. Click on Shortcut
Select Startup Tab
Check MSR and Cooling
Click on Make
9. Click on Driver tab
Check Startup Service
Click on Set
10. Close Coolon
11. Right click on:
C:\Documents and Settings\All users\Startup\Programs\Startup\Coolon
12. Select properties
13. Change the options on the startup string to: /M /C
(eliminate the /D, it will cause problems for unpriv'd users.)
14. Change the file protections on the Coolon directory and its
contents to: Everyone: read & execute, read, list folder contents
15. Monitor the CPU temperature with the system at idle.
Note added 2/28/07. As of this date fully patched XP SP2 does not enable
power regulation of this processor by itself. So the steps above are still
required.
Linux Instructions
See the athcool home page http://members.jcom.home.ne.jp/jacobi/linux/softwares.html#athcool if you require more information.
1. Use a recent 2.6.x kernel.
2. Boot with kernel option: acpi=strict
3. Login as root
4. Obtain and install the athcool package (as appropriate
for your distribution). If no package is available build
it from the tarball on the athcool home page.
5. See if athcool works: athcool stat
6. Start athcool: athcool on
7. If the CPU temperature falls (sensors command, from
lm_sensors package) and nothing blows up, then enable
athcool to autostart at boot. Some athcool packages provide
an init.d script for this, others don't.
8. If athcool doesn't work or the CPU temperature doesn't fall on
the idle machine (preferably with no X11 running, no USB devices,
top showing little or no CPU use) try a more recent kernel
as the relevant parts of the kernel code may have been fixed.
9. Still not working? Do: modprobe processor
10. cat /proc/acpi/processor/CPU0/info
and see if acpi is disabled in the kernel.
Note added 2/28/07. Some distributions such as Mandriva 2007 do all of
this automatically. In addition to athcool they use a powernow-k7 module.
You can verify that athcool is working by using
lm_sensors to measure CPU temperature on the idle system, turn off athcool,
wait 20 minutes, and look at the CPU temperature again. Also, athcool did
not work on a Tyan S2466N mobo with an Athlon MP processor under early
2.6.x kernels, but upgrading those machines to Mandriva 2007 let athcool
work correctly, dropping the average CPU temp from 39C to 27C.
Note added 06/06/07. Athcool sets two bits and just leaves them on. So
this saves power when idle but does in some cases affect the machine's
performance while busy. For instance, on our S2466N machines the IDE
read/write performance decreased by up to 50%, and changing the PCI latency
values did not help. To work around this I wrote a small perl script
that toggles athcool off if the system is busy, and on if it is idle. This
is similar to what cpufreq does on new AMD processors, where the frequency
and voltage are adjusted up or down as needed. The script ctrl_athcool.pl.
should be started in the init.d script instead of athcool itself. The
script will turn on athcool. The init.d "stop" section should stop the script
and then issue an "athcool off".
Note added 02/08/08. Found that Athcool negatively effects heavy network load
even when that load does not cause much of an increase in the CPU load. Modified
ctrl_athcool.pl to shut athcool off after it detects a significant network load.
The trigger is the sum of the number of packets read and written within a 1 second
interval. Either network load or high CPU usage now causes athcool to turn off, both
conditions must abate before athcool will be turned back on.
These processors support Cool'N Quiet, which is a reduction in both clock frequency and voltage at idle. In general they use less power than the regular Athlon XP and MP processors. Tests with Central Brain Identifier indicate that on the experimental machine the Halt instruction is enabled and accounts for about 18 Watts of power saving. Stop Grant was disabled, but enabling it made no difference, possibly because CBID did not work properly with the DFI motherboard. In any case, no manual intervention was required to enable Halt.
Windows XP Instructions
1. As administrator
2. Go to www.amd.com and find the relevant download page for
the processor in question.
3. Download the processor driver
4. Download the AMD power monitor
5. Install both.
6. Run the power monitor and set it to: minimal power management.
7. The power monitor should show that when the machine is idle the
frequency drops by about half and the voltage drops by about 30 percent.
8. You do not need to leave the power monitor running in the foreground.
9. When a normal user logs in subsequently the power monitor may show
home office and not minimal power management. Yet it
appeared to work as if it was in the latter mode. To be safe have
normal users do: start -> control panel -> power savings
and set it to minimal power management
10. Note, it isn't necessary to use the AMD power monitor. Setting
minimal power management in the power options control
panel is equivalent. However the power monitor shows that the expected
changes have actually transpired.
Linux Instructions
Not written yet. (Try the powernowd tool.)
Windows XP Instructions
1. As administrator
2. Go to www.amd.com and find the relevant download page for
the processor in question.
3. Download and install the processor driver
4. Set minimal power management in the power options control
panel.
Linux Instructions
1. Use a recent 2.6 series kernel.
2. Verify that the module powernow-k8 exists.
3. Verify that powernow-k8 will load with: modprobe powernow-k8
(note, if your BIOS does not support the PowerNow for this particular
processor you will something like this:
FATAL: Error inserting powernow-k8 (/lib/modules/2.6.17.11/kernel/arch/i386/kernel/cpu/cpufreq/powernow-k8.ko): No such device
and % dmesg | tail will show (on a dual CPU system)
powernow-k8: Found 2 AMD Athlon 64 / Opteron processors (version 1.60.2)
powernow-k8: MP systems not supported by PSB BIOS structure
powernow-k8: MP systems not supported by PSB BIOS structure
4. Install cpufreq and cpufrequtils
5. The defaults are probably ok. Use cpufreq-info and cpufreq-set to change
things, or modify /sys/devices/system/cpu/cpu0/cpufreq/ entries directly.
Note added 2/28/07. As of this date some distributions such as Mandriva 2007 do all
of this for you. Moreover, they default to this mode.
Recent opterons seem to support the same power savings as Athlon 64. See above for info.
Note added 2/28/07. HOWEVER, there have been
exceptions. I had the unfortunate experience recently
of purchasing an Opteron 246HE CPU only to find that it
supported only a single power level. Now the irony of
this is that I bought the HE part because it is a low
power part, but it turned out that AMD made 2 different
chips, called "Opteron 246HE", and by bad luck the
variant I ended up with did not actually support
CoolN'Quiet. This information was well buried deep in
an AMD technical manual. So when purchasing AMD chips
it is apparently mandatory to dig a little deeper to
verify that the EXACT variant being purchased supports
the desired power saving features. To do this you will
need the AMD part number. For instance: OSK246CMP5AU,
which is, by the way, the variant you do NOT want, the
246HE that has multiple power states is actually
OSK246FAA5BL.
Not written yet
Not written yet
Not written yet
Windows XP Instructions
Set the Power Options control panel applet to Minimal Power Management.
Linux Instructions
Try cpudyn. This requires that cpufreq also be working.
One Dell machine was tested. Perhaps Enhanced Speed Step was not enabled in the BIOS? (Note: 2/28/07, on inspection there was no option to change this in the BIOS.) In any case, at idle the power consumption was 76W for both "Always On" and "Minimal Power Management". So the Core Duo was quite efficient at idle, it just wasn't clear if Enhanced Speed Step was alway on regardless of the power control panel setting, or if it was never on. In any case, it was clear that there was no control over it on this machine.
Not written yet
There is apparently no way to decrease idle power consumption on these machines.
These machines can slew their CPU frequency and voltage between a low value (low power consumption) and a high value (high power consumption). There are three settings, found under system preferences -> power savings -> options, which are:
1. Automatic: The operating system increases power consumption
to match the load.
2. Highest: The computer always runs at the highest CPU frequency
and voltage.
3. Lowest: The computer always runs at the lowest CPU frequency
and voltage.
In order to reduce power consumption at idle use Automatic on the desktops and on the laptops when these are running on the charger. When the laptops run on batteries it is sometimes useful to employ the Lowest setting in order to maximize the battery life. On laptops this option may be set independently for battery mode and charger mode. Processes with root privileges may also set these options from the terminal window using the pmset command.
On OS X 10.4.8 the System information tool on the one iMac tested said "2 Ghz Intel core duo" without giving any measured CPU speed. The same machine brought up in Windows XP SP2 with bootcamp identified itself as "Genuine Intel (R) CPU T2500@2.00 GHz, 999Mhz." The different speed listed is consistent with Enhanced Speed Step being active. However power consumption under XP was 83 watts for the power settings "Home/Office Desk", "Always On", and "Minimal Power Management". This is unfortunately conflicting information, with the system claiming to be running at half speed, yet not actually drawing different amounts of power at different power settings. Under OS X 10.4.8 it ran at 73 watts and there appeared to be no setting to control power consumption in system preferences -> energy sevaings.
How then to explain the power differences between XP and OS X on the same machine at idle? I believe it is in part due to the handling of the integrated display. Under OS X there is a software brightness control and changing that varied power consumption from 60W to 85W. There was no such control under XP, so most likely in that OS the backlight is full on at all times, and this explains the observed idle power consumption.
So the jury is out on Enhanced Speed Step on this iMac. It's unclear if it was on and even less clear how to control it.
In general for power saving to work acpi must be enabled in the motherboard's BIOS. Some machines are also able to enable power saving at idle in their BIOS, however at this time this capability seems to be rare. Please refer to your motherboard manual for further information.
More or less verbatim from: http://www.microsoft.com/whdc/archive/winpowmgmt.mspx
Processor control policy types
In Windows XP, the processor performance control policy is linked to the Power Scheme setting in the standard Power Options control panel applet.
Policy Description
None Highest performance state
Constant Lowest Performance state
Adaptive Performance state chosen according to demand
Degrade Lowest performance state, plus additional
linear performance reduction as battery discharges
Processor control policy
The user selects the Power Scheme to be used, and Windows XP matches it with a processor control policy.
Power scheme AC power DC power Home/Office Desktop None Adaptive Portable/Laptop Adaptive Adaptive Minimal Power Management Adaptive Adaptive Maximize Battery Life Adaptive Degrade Presentation Adaptive Degrade Always On None None
There are several ways to set or display the power configuration on an XP system, these are:
Right click on the Desktop -> select Properties -> select Screen Saver tab -> click on Power... button Start -> select Control Panels -> select Power Options Start -> select Programs -> select Accessories -> select Command Prompt -> enter powercfg /query (etc.)
IMPORTANT: Normally in Windows XP the power setting for the Administrator account overrides that for unprivileged accounts. The settings for the Administrator also apply to the logon screen. Just to make things even more interesting Windows XP will show the wrong power setting information for all accounts other than Administrator. This occurs no matter which methods are used to display the power parameters. Typically other users see the "Home/Office Desktop" power scheme, no matter which power scheme is actually in use. Non-Administrator users will not be able to change this (incorrect) value, and will receive an "Access is Denied" message when they click on either Apply or OK after making power scheme changes.
These values were measured with a P3 International P4400 "Kill A Watt" meter. Measurements include everything in the case (CPU, disks, fans, graphics card) but do not include the monitor.
Processor OS State Watts
Athlon XP 2000+ - off 4
Athlon XP 2000+ Linux (2.6.11) idle (athcool on) 87
Athlon XP 2000+ Linux (2.6.11) idle (athcool off) 145
Athlon XP 2000+ Linux (2.6.11) busy ???
Athlon XP 2000+ Windows XP SP2 idle (coolon off) 147
Athlon XP 2000+ Windows XP SP2 idle (coolon on)
MSR 256 101
MSR 128 108
MSR 64 112
MSR 32 116
MSR 16 118
MSR 8 121
Athlon XP 2000+ Windows XP SP2 standby 73
Athlon XP 2000+ Windows XP SP2 busy (rendering) 180
Athlon MP 2200+ Linux (2.6.19) idle (athcool on) 78
Athlon MP 2200+ Linux (2.6.19) idle (athcool off) 113
Athlon MP 2200+ Linux (2.6.19) busy 135
Sempron 3100+ Windows XP SP2 idle (1.0Ghz,1.1V) 73
Sempron 3100+ Windows XP SP2 idle (1.8Ghz,1.3V) 79
Sempron 3100+ Windows XP SP2 idle (1.8Ghz,1.3V) 97a
Sempron 3100+ BIOS menu (1.8Ghz,1.3V) 94
Sempron 3100+ Windows XP SP2 busy (stresstest) 105
Athlon 64 3700+ Windows XP SP2 idle ("always on") 100
Athlon 64 3700+ Windows XP SP2 idle ("min power") 80
Athlon 64 3700+ Linux (2.6.17) idle (-cpufreq) 100
Athlon 64 3700+ Linux (2.6.17) idle (+cpufreq) 80
Athlon 64 3700+ - off 2
Dual Opteron 248 Linux (2.6.9) busy (rendering) 243
Dual Opteron 248 Linux (2.6.9) idle 213
Dual Opteron 248 - off 4
Pentium II 400 Mhz Windows XP SP2 busy (booting) 65
Pentium II 400 Mhz Windows XP SP2 idle 48
Pentium II 400 Mhz - off 1
Pentium III 500 Mhz Windows XP SP2 busy (booting) 60
Pentium III 500 Mhz Windows XP SP2 idle 37
Pentium III 500 Mhz - off 3
Pentium 4 2.8 Ghz Windows XP SP2 busy (rendering) 139
Pentium 4 2.8 Ghz Windows XP SP2 idle 101
Pentium 4 2.8 Ghz - off 1
Core Duo 1.86Ghz Windows XP SP2 idle ("Always on") 76
Core Duo 1.86Ghz Windows XP SP2 idle ("Min. power") 76
Core Duo 1.86Ghz - off 2
iMac G5 1.8 Ghz OS X (10.3.9) idle (highest) 91
iMac G5 1.8 Ghz OS X (10.3.9) idle (automatic) 85
iMac G5 1.8 Ghz OS X (10.3.9) idle (reduced)
display on 85
display off 45
iMac CoreDuo 2.0Ghz OS X (10.4.8) idle (no control) 73
iMac CoreDuo 2.0Ghz Windows XP SP2 idle ("Always on") 83
iMac CoreDuo 2.0Ghz Windows XP SP2 idle ("Home/Office") 83
iMac CoreDuo 2.0Ghz Windows XP SP2 idle ("Min. power") 83
Details: Athlon XP 2000+. Asus A7V266E motherboard, 1G RAM, 1 40Gb IDE disk, ATI Radeon 8500DV graphics card.
Details: Athlon MP 2200+. Tyan S2466N motherboard, 1G RAM, 1 40Gb IDE disk, S3 graphics card.
Details: Sempron 3100+. AMD 754 socket, DFI LanParty UF nF3 250GB motherboard, 512M RAM, 1 80Gb IDE disk, ATI Radeon 9200SE.
Details: Athlon 64 3700+. Asus A8N5X motherboard, 1G RAM, 1 160Gb IDE disk, Nvidia Quadro Pro FX 1400 graphics card.
Details: Core Duo 1.86 Ghz. Dell Precision 390, unknown components. Thank you to Leonard Thomas for providing access to this machine
Details: Imac Core Duo 2.0 Ghz. Apple iMac, unknown components. Thank you to Anthony West for providing access to this machine
a Halt also disabled using CBID tool.
These values were measured with a P3 International P4400 "Kill A Watt" meter. Measurements include only the monitor. Note that for both the conventional Iiyama CRT and the Dell LCD flatpanel the power consumption decreases with brightness. Turning off half the lights in an office (1-8 32W fluorescent bulbs) allows the display to be run at a lower brightness. This saves power on the display, on the room lighting, and in most cases on the building air conditioning.
Display State Watts
Iiyama V.Master 450 standby 6
Iiyama V.Master 450 640x480 (BIOS display) 64
Iiyama V.Master 450 1280x1024,75hz,bright=100% 88
Iiyama V.Master 450 1280x1024,75hz,bright=50%
Mostly White 93
Typical screen 84
Mostly Black 81
Iiyama V.Master 450 1280x1024,75hz,bright=25% 88
Dell 1801 LCD Dimmest (unreadable) 18
Dell 1801 LCD 30% Brightness (as used) 35
Dell 1801 LCD Brightest (blinding) 50
Viewsonic VX922 Normal use 30
Viewsonic VX922 screen saver - blank 30
Viewsonic VX922 turned off by OS ("no signal")30
Viewsonic VX922 turned off by OS 0
These values were measured with a P3 International P4400 "Kill A Watt" meter. Measurements include everything in the case (CPU, disks, fans, graphics card) but do not include the monitor. The interesting point here is that the screen savers may or may not push a machine out of its idle mode, depending on the CPU, and possibly also on the graphics card. The results shown below are for Windows XP screen savers. All numeric values are in watts.
Athlon XP 2000+ Sempron 3100+ Pentium4 (2.8Ghz) Screen Saver 108 73 101 Windows XP 150 74 115 3D Flowerbox 147 74 - 3D Flying Objects 110 - 115 3D Pipes 147 - - 3D Text 111 - - Beziers 108 73 101 blank 108 - - Marquee 115 - - Mystify 115 - - Starfield
These values were measured with a P3 International P4400 "Kill A Watt" meter.
Printer State Power Genicom ml260 power saver 16 Genicom ml260 on 16 (spiking periodically to 620) Genicom ml260 warming up 620 Genicom cl160 power saver 38 Genicom cl160 on 38 (spiking periodically to 650) Genicom cl160 warming up 650 Genicom cl160 printing 650-750 HP 2100M power saver/on 22 HP 2100M warming up 600 HP 2100M printing 400-430
Assume a typical employee works 8 hours a day, 5 days a week, and has two weeks of vacation per year. Furthermore assume that this employee's equipment is turned off when the employee is not present. For each watt consumed by that employee's equipment in a year 8*5*50 = 2000 watt hours = 2 kilowatt hours of energy must be purchased. In California as this is written the cost per kWh is about ten cents. Resulting in the formula:
Server equipment is typically on all the time. So for power consumption in servers allow 24 hours a day, 365 days a year. For each watt consumed by the server equipment in a year it will consume 24*365 = 8760 watt hours = 8.8 kilowatt hours of energy. Assuming again 10 cents per kWh this would cost 88 cents. Resulting in the formula:
Finally it is worth considering the costs of giving way idle CPU time. This practice was pioneered by SETI and there are now several other projects which run on the same BOINC software. A clerical worker's PC is typically idling nearly 100% of the time since the relevant applications demand very little of the CPU. Installing SETI changes this equation. First, the background program consumes the idle cycles and moves the machine from its lowest power state to a higher power busy state. Secondly, and this is actually the bigger factor by far, the worker may leave the machine on all the time in order to let the background program run.
Case 1 (least expensive). The typical office worker, using the Athlon XP 2000+ machine described elsewhere, with the cooling mode enabled, and an LCD screen. Average power consumption would then be 108W for the elements in the case plus 35W for the display giving 143W total. Using the first formula above gives a yearly power cost of $28.60.
Case 2. The same office worker, using the same machine, but this time with a SETI like program using all idle cycles, but not heavily loading the machine. The machine is now left on 24 hours a day as it's "doing something worthwhile". Average power consumption for the box becomes 147W, and since the machine now runs all the time yearly energy cost for these components is 147*.88 = $129.36. Presumably the user would still turn the monitor on and off as before, so the yearly energy cost for the display would 35*.2 = $7.00. Giving a total energy cost of $136.36.
Case 3 (most expensive). The same office worker, using the same machine, but this time with a SETI like program pushing the CPU hard. Average power consumption for the box becomes 180W, and since the machine now runs all the time yearly energy cost for these components is 180*.88 = $158.40. Presumably the user would still turn the monitor on and off as before, so the yearly energy cost for the display would 35*.2 = $7.00. Giving a total energy cost of $165.40.
The same office worker, using an Iiyama CRT will use about 84W, which will cost 84*.2 = $16.80 for yearly energy costs. As noted above, an LCD would use about 35W and so would cost 35*.2 = $7.00 for the year. Assuming the replacement LCD display cost $200 the payback period would be 20 years. (Note added 2/28/07 - this argument is still technically correct but moot since pretty much all new displays are LCDs. The normal turnover of displays has replaced almost all desktop CRTs at this point.)
LCDs can go "black" either by shutting off the backlight (shutting down the display) or by turning all pixels to the black state. The problem is, while both result in a black display, the former results in significant energy savings, and the latter saves absolutely nothing. For this reason, if given the option, screen savers should be avoided and the monitor turned off instead. On Windows XP this is accomplished by setting the screen saver time longer than the Monitor Power time in the Display Properties control panel. For instance, a Viewsonic VX922 19" display uses 30W when blanked. When the OS shuts off the display it shows "No signal" for a few seconds. While doing that it also uses 30W. Then once the display goes into standby mode it uses 0W.
athcool http://members.jcom.home.ne.jp/jacobi/linux/softwares.html#athcool AMD's drivers and tools are listed by processor here: http://www.amd.com Central Brain Identifier (aka cbid) http://cbid.amdclub.ru/ coolon http://coolon.o-ya.net/en/ cpudyn http://mnm.uib.es/gallir/cpudyn/ powernowd http://www.deater.net/john/powernowd.html
If you have comments, sections to add, or other feedback, please contact the author via email at: mathog@caltech.edu
Copyright David Mathog and Caltech 2008
Making a local copy of this entire document to serve from another site is allowed and does not require authorization from the copyright holder. However, you are not granted the right to modify that copy - please send corrections and additional material to the author for incorporation. The template version of this document is: http://saf.bio.caltech.edu/saving_power.html.
The following people also contributed to this document:
currently empty