Start tuning your Linux system for power efficiency. This article will get you up to speed on the components and concepts you need to fine-tune a Linux-based System x server for power efficiency. Learn how to enable the Linux CPUfreq subsystem, get instruction on C and P states, and determine which of the five Linux in-kernel governors you need to boost power efficiency on your system
Laast time I checked, powertop does that all for you…
This whole article and all the following ones are only about CPUfreq and tweaking the governors. Nothing more.
But there is a lot, LOT, more to power-saving than just CPU scaling. All the components of your computer consume power and most of them can be controlled in one way or another to consume less when not needed. As I understand it still many drivers in Linux don’t support power-saving even when the hardware does, and even when it does support it the power-saving functions aren’t enabled by default and either require loading the modules with certain parameters or even a recompilation. It’s silly. I wish they’d (the developers) spend more time on improving overall power-effiency and less time tweaking the CPU effiency. You can only get so far by concentrating on one single part.
Improved support for power management of devices appears in every new kernel release. There’s few components without some level of power management support now.
There are also the desktop-level power management utilities available now.
Here is one that I use to good effect:
http://drfav.wordpress.com/2008/09/12/introducing-the-darkest-power…
Better power management is a goal of Red Hat 6[1]. There is also work on GPU power management since last winter[2].
Overall, linux power management has done some pretty impressive jumps, thanx to powertop. Before it came out, you couldn’t really measure any tweaks’ effect. Now you can. Many programs now try to stay idle as much as they can.
[1] http://www.phoronix.com/scan.php?page=news_item&px=NzUwNQ
[2] http://www.phoronix.com/scan.php?page=news_item&px=NzA2Mw
Part of it is probably that Linux drivers are mostly developed in-house. I wouldn’t know from experience, but I would assume that enough effort goes into just making the crazy variety of hardware *work* that power management stuff falls by the wayside.
(A stable driver API would help. On the other hand, having seen the headaches that poor third-party drivers can cause on Windows, I wonder if maybe it’s not such a good idea…)