I just bought this Voltcraft EL4000 device that, among other things, does print power consumption information such as: Ampere, Watts, VA and the infamous kWh.
Of course the aim was to spot power hungry devices and kill them (when possible) or replace with more eco-friendly alternatives. So I started with my Atom-based (N270 on the power hungry i945CF) home server, running with 2x750GB RAID1 Western Digital super-power-hungry, and an external Western Digital 2TB eSATA device (you never know, if the world falls over you need to take all your data quickly with you). Here is what I’ve found:
- Initial consumption was at around 90W, no fancy power saving thingies were configured (besides, hdparm didn’t work on those WD drives)
- The freaking power strip I/O button led was consuming 2W. I ripped it off immediately. My room at night is very close to the Milky Way.
- the bloody PSU is quite inefficient, <80%, so I’ll have to replace it with a more efficient one as soon as I have some spare cash (sigh)
- the chipset mounted on this Atom board sucks 22W, while the Atom itself *only* 4W (2.4W average), I knew that when I bought it, but then I wasn’t caring too much about energy costs. Does anybody know a good cheap & power-friendly atom board?
- the bloody RAID1 WD setup is sucking 20W idle (idle != spun down). I just ordered two new “Green Power” drives from WD, will save around 14W idle. Interesting that once spun down, these drives consume almost nothing. Hence, after having discovered that hdparm didn’t work, I tried the hard way, sending SCSI commands and that worked, then I’ve found sg3_utils’ sg_start –stop /dev/sdX and started writing a small, memory resident daemon tool in Python that does the spindown every 7.5 minutes if certain conditions are met.
- Both p4-clockmod and cpufreq-acpi drivers are not supported on this CPU (for design reasons, AFAIR). Anyway, the delta between C5 (and C6) and C0 is minimal. Only “powersave” and “performance” governors are working, but make the Atom running at a fixed clock of 200MHz is not a good idea.
- The external hard drive has of course, a separate DC power converter, which ended up being very inefficient too, but anyway, I can tolerate 1W.
- Last, but not least. The damn UPS, I was used to have two, one for the server and the other for my workstation. No reason to have 14W constantly sucked (even with batteries fully charged) by the APC 800VA RS (the other is a shitty Trust 1000VA). So I decided to keep the
shittyTrust and drop the APC, connecting both puters to the same UPS.
So, my goal (and I’m already very close) is to cut the power consumption to 45W (from 90W), considering that the server does some torrent seeding and backups overnight (when energy costs less) and for the 95% of the time is idling waiting for daddy to come home.
The things that made a big diff in reducing (close to 0) spin up events (mainly for “pdflushing” data to disks caused by the cron daemon, nfs, samba, apache, mysql) have been the following:
- moving /var/log, /var/cache/samba, /var/lib/samba, /var/lib/nfs to a separate power-friendly usb memory stick. This way, RAID1 drives had no more reason to spin up every odd minute.
- Using my own script for putting hard drives to sleep (an infinite while loop that checks for drive stats under /sys/block to understand if the drives needs to go to sleep again).
- Using powertop to get some advices, like the ones below (just google them to know what they’re about):
echo 1 > /sys/module/snd_hda_intel/parameters/power_save
echo 2500 > /proc/sys/vm/dirty_writeback_centisecs
echo 5 > /proc/sys/vm/laptop_mode
And, freaking kill all the SWAP partitions! Avoid having the kernel moving anonymous pages (and other swappable ones) to disk completely! If you have >2GB ram and are running a home server, there’s no reason to have swap.