| Version 21 (modified by dkg, 5 years ago) (diff) |
|---|
Power Consumption of computing equipment
These measurements were made with a kill-a-watt.
measurements
| machine | specs | off | no load | CPU burn | disk read | charging battery |
| crusty | Pentium I 90MHz, 80MB RAM, 1G PATA disk | 41W | 41W | 43W | 46W | N/A |
| splat | alix AMD Geode 500MHz, 256MB RAM, 2G CF | ? | 5W | 7W | ?? | N/A |
| squeak | thinkpad X30 12" screen, P3 1.2GHz, 512MB RAM, 40GB PATA laptop HD | ? | 17W | 31W | 24.5W | bat1: 58W;35W;27W;22W bat2: 57W;48W;35W;25W |
| atlas | dual PIII 1GHz, 768MB RAM, 2x200G PATA (RAID 1) | 5W | 78W | 100W | 87W (91W md1) | N/A |
costs/tradeoffs
Replacing crusty with splat, above, saves me at least 34W. that's around 300 kWh/year. Since my electric utility charges ~$0.11/kWh, i'll save ~$30/year for this one replacement. While this doesn't exactly meet the costs of the new machine, it is still pretty significant.
In addition to the financial costs, of course, there is also the lower environmental impact to consider (must research the impact of creating/shipping the new machine), the reduced acoustic noise, and the reduced heat output.
strategies currently measured
no load
let a stock linux kernel boot (kernels from lenny and etch at the moment), make sure that vmstat reports mostly idle CPU cycles.
CPU burn
force the kernel to chew up as much of the CPU as possible. on single CPU machines, just ask the kernel to generate pseudorandom numbers and throw them away:
dd if=/dev/urandom of=/dev/null
If you've got a multi-CPI (or dual-core) machine, you might need to run one instance of this for each core you have available to make vmstat claim 100% load.
- This won't exercise the FPU on any machine; if the FPU consumes significantly more power than the ALU for the specific core design, this might not be as high as you could push it.
disk read
pull data straight from the raw disk device as fast as possible, and send it to the bit bucket. This doesn't affect the data on the disk at all, other than forcing a series of linear reads:
dd if=/dev/hda of=/dev/null
- does the kernel's disk cache have an effect on this?
charging battery
battery should be completely drained initially (0%).
measurements should be at no load, and then immediately when it starts charging, 50% full, 75% full, 90% full.
If there are multiple batteries, indicate each battery on its own line.
other strategies
There are obviously other interesting things that could affect power measurements. These would be worth measuring at some point, for the devices which support them.
networking
would sending a lot of traffic over the network affect power consumption?
wireless networking
bluetooth
USB devices
- audio devices?
- USB serial lines
serial console
If you send huge amounts of data over the serial console, does it affect power consumption?
optical media
Reading CDs and DVDs takes power, both for the optics and for the mechanics of getting the disk spinning. Do "music" CDs take more power to read than "data" CDs?
Writing CDs and DVDs takes power as well. Does writing at faster speeds consume more power?
random disk access
heavily random disk activity (e.g. swapping) -- straight dd is linear access, which might be different, since seeks probably cost something other than just active disks.
disk write
Warning: this is extremely destructive! Don't do this unless you understand what it will do to the machine you run it on.
Best to select a specific partition that you know you can trash:
dd if=/dev/zero of=/dev/hda7
video
How do we get massive video terminal activity (random pixel flipping)
memory activity
i've heard reports that amount of memory present is an indicator of power consumed. Is active use of the RAM required, or is it just the cost of refreshing the DRAM? Could we use memtest86+ for this test?
off
how much does the machine draw after running:
shutdown -h now
and waiting for the Power down message on the kernel's console? on older machines like crusty, there is no difference between this and the "no load" state. ugh.
sleeping
if the machine has a "suspend to RAM" state, how much power does it draw in that state?
units: watts vs. volt-amps
There is often confusion over which units to use when measuring power consumption. The two most common measures of power are the watt and the volt-amp. In AC circuits, the power is a complex number with both real and imaginary components. The real (in-phase) part of the power, P, measured in watts, comes from resistive circuit elements that actually dissipate power and consume energy (ie. resistors). The complex (quad-phase) part of the power, Q, comes from reactive circuit elements that just store energy to be released later in the cycle and therefore consume no energy (ie. capacitors and inductors). The "apparent" power is the rms sum of the two and is measured in volt-amps:
S^2 = P^2 + Q^2
Volt-amps are calculated by taking the product of the rms voltage and rms current delivered to a circuit.
The ratio of real to apparent power is the power factor:
pf = P/S,
which is always a number between 0 and 1. The conversion between watts and volt-amps is then:
volt-amps = watts / pf.
The distinction between watts and volt-amps becomes important for highly reactive circuits that have low power factors, ie. computers. A computer with a power factor of .5 might consume 10 watts of real power, but would require 20 volt-amps of apparent power. Watts measures actual energy dissipated in the circuit, and is therefore what is billed by power companies. However it is volt-amps, which is always equal to or greater than watts, that must actually be delivered to the system. This is why power delivery systems (ie. UPS's) are rated in terms of volt-amps.
other notes
- powertop -- linux tool to find out what is using power on a laptop

