Profiling my home server power consumption

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 shitty Trust 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.


About lxnay

the creator of Sabayon Linux, Entropy Package Manager {Eit, Equo, Rigo}, Molecule release media buildsystem, Matter Portage buildbot/tinderbox and only God knows what else...

Posted in Me

Permalink 3 Comments

3 responses to “Profiling my home server power consumption

  1. Francesco R.

    uhm, turn off swap totally it’not a good idea
    echo 5 > /proc/sys/vm/swappiness
    it’s a better deal.
    Also try hard avoid too much respinning it’s the most stressing thing for rotational hard-disk (plus every motor use a lot of energy when starting) rationale is that disk cost and manufacturing + travel cost a lot of energy (maybe more than it will use in it’s whole life)

  2. What about moving /tmp to the usb stick as well?

  3. Francesco, if you are talking about the “swap trashing” effect, that is not my case, because my home server has 2GB RAM and an average load of 0.10, no X, nothing else but apache and other small (in terms of memory footprint) service instances (sql server, etc).
    So, in my case, killing the swap bring the probability that pages get swapped to 0.0.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

hello, twitter

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 583 other followers

%d bloggers like this: