Power usage in Servers
31 March 2008 in GNU/Linux, Open Source, Open Source OfficeI was recently floored to find out that the average server uses 225watts of power continuously! Thats phenomenal! We always build ours with the aim to use less than 60watts total. So lets look at the perfect recipe to help reduce power consumption for workloads that really don’t require that kind of power consumption:
Power Supply
Do you need that second redundany power supply? How often have you seen high quality power supplies die on high quality UPS’s? For myself - never. Prove me wrong by all means. If your system only draws a minimal current then don’t buy the super-gamer-mega-doom-blueled-turbo-carburettor model. It’s unnecessary and will only waste power and make more noise with its monstrous fan. Match your power supply to your current consumption.
Mainboard & CPU
This is a biggy. So much waste with more than you need. An average small to mid size workplace doesn’t need more than 2 cores max! In fact we build ours using VIA EPIA mainboards as they have enough grunt to do all that we do with them. At around 1Ghz average they’re not speed machines but as purely a server for files, VoIP, Samba, mail, and web they really don’t need much more than this. Average loads are less than 10% for most of the day. The EPIA boards also have an AES chip called the padlock which offloads processing of AES crypto (for encrypted file-systems and AES encrypted VPN tunnels). Heat dissipation is no longer a problem so most cases can do without extra fans and should you feel comfortable with the cooling of the machine you can even do without a CPU fan (as we have done several times).
Hard disks
Think about how much storage you require when you build the machine. The more drives you add later on, the more power you’ll consume. What level of redundancy will you need? Always use redundancy on a server - but is there a need for more than RAID level 1? At RAID 1 you only require 2 drives which equals less power consumption. Use Linux’s RAID capabilities rather than using a thirsty RAID controller card - This allows for greater control over hard drive power consumption as the Linux Kernel is controlling everything. This also reduces heat inside the case reducing the need for fans.
CPU control
Most of the day your CPU will be doing little to no work at all. It’s not necessary to run then at full speed all the time. Modern CPUs allow for frequency scaling as well as whats called C-states. The cpufreq modules and daemons available in Linux allow you to take control of the system and have it self-govern down to load CPU speeds and lower C-states (like sleeping) when its not needed. Depending the profile the machine can then scale up to meet demand or gradually ramp up to demand so as to maximise power saving vs demand ratios.
Modern Linux Kernel
Modern Linux Kernels from 2.6.21 upwards now have whats called a “tickless” Kernel. Search Google should you want in depth information about this but basically it means that the Kernel works more efficiently to allow the CPU to lower itself into lower sleep states more often and save more power. This is great news for those in the Linux world and at the forefront of power saving programming techniques!
Screen and Keyboard
Does your server really need a screen and keyboard plugged in there? Even when in standby that monitor is wasting energy, and the keyboard is pulling current to stay powered - Log in remotely - its not hard! There are many tools that allow this on all levels (via a terminal, or graphically).
Powertop
Intel has built a tool called Powertop to help monitor your usage and also suggest what can help out. Be cautious with your changes though as not all hardware can deal with some of the heavier suggestions at lower levels.
Follow these recommendations and you’ll find that you too can build a server consuming less than 60watts. Recently we built one for a workforce of 5 to login via Samba Domain Logins along with mail, web, and VoIP, which consumed 45 watts! And it was silent.
No comments yet.