Open Source im professionellen Einsatz

Stromsparen für jedermann

Linux-Rechner begrünt

Linux gilt vielen Brachengrößen als umweltfreundlichstes Betriebssystem überhaupt. Dass die Akkulaufzeit eines IBM R60e-Notebooks mehr als eine halbe Stunde hinter der Laufzeit unter Windows herhinkte, stimmte dabei nachdenklich. Der Artikel geht dem Stromverbrauch auf die Spur und nennt die richtigen Stellschrauben, die Linux bis zu 20 Prozent sparsamer machen

Der Mehrverbrauch lässt sich nämlich nicht Linux allgemein in die Schuhe schieben, auf die richtige Paketzusammenstellung kommt es an. Den Stromhunger des Notebooks bedingt primär die verwendete Distribution Ubuntu 7.04. Die brachte - wie auch die Ubuntu-Vorgänger - eine veraltete Version der Laptop-Mode-Tools mit, die, zumindest mit dem genannten Centrino-Notebook, nicht funktionierte. Nach Einspielen und Konfiguration des Debian-Paketes unterschied sich der Stromverbrauch von Windows und Linux nur noch wenig, die Akkulaufzeit stieg auf ähnliche Werte, wie unter Windows. Wer sich einen schnellen Überblick zum Verbrauch des eigenen Laptops verschaffen will: Der Aufruf von "watch -n1 'cat /proc/acpi/battery/BAT0/*'" zeigt den Stromverbrauch eines Notebooks im Akkubetrieb kontinuierlich an.

Der Aufruf von watch -n1 'cat /proc/acpi/battery/BAT0/*" zeigt den Stromverbrauch eines Notebooks im Akkubetrieb kontinuierlich an

Der Aufruf von watch -n1 'cat /proc/acpi/battery/BAT0/*" zeigt den Stromverbrauch eines Notebooks im Akkubetrieb kontinuierlich an

Vom Notebook bis zum Server

Lässt man Displays erst einmal außen vor, dann ist der größte Stromfresser eines Rechners meist die CPU. Jahrzehntelang lief die zentrale Recheneinheit stets auf vollen Touren. Unabhängig davon, ob die Maschine unter Vollast oder im Leerlauf arbeitete, nahm sie etwa die gleiche Leistung auf. Die zur Kühlung der CPU verwendeten Lüfter taten ein übriges zum unnötigen Stromfressen. Abhilfe schaffen seit einigen Jahren die von den Prozessorherstellern eingeführten Energiespartechniken Powernow oder Cool'n'Quiet (AMD) sowie Speedstep (Intel). Sowohl bei AMD- als auch Intel-CPUs sorgen eine abgesenkte Taktfrequenz und Spannung dafür, dass die CPU im Leerlauf weniger Strom aufnimmt.

Laut Kernel-Dokumentation unterstützt Linux die zugrunde liegende Anpassung der Taktfrequenz (Frequency-Scaling) bei folgenden CPUs: Den Notebook-Prozessoren AMD mobile K6, mobile Duron, mobile Athlon, manchen Intel mobile PIII und mobile PIII-M auf manchen Chipsets sowie Pentium M (Centrino). Unter den Desktop- oder Server-CPUs bieten AMD Opteron, Athlon 64, Intel Pentium 4 Intel Xeon sowie einige Cyrix-CPUs Sparpotential.

Linux unterstützt die Anpassung der CPU-Taktfrequenz (Frequency-Scaling).

Linux unterstützt die Anpassung der CPU-Taktfrequenz (Frequency-Scaling).

Mit den in den Kernel-Dokumenten noch nicht erwähnten Intel-Core-Duo-Prozessoren sowie manchen AMD-Sempron-Prozessoren funktioniert die Stromsparfunktion jedoch auch. Mit dem Blick auf die Daten der CPU ist es aber nicht getan: Außer der CPU muss auch das BIOS die Stromsparfunktionen unterstützen, was bei neueren Boards aber meist der Fall ist. Gerade aktuelle, schnelle CPUs nehmen im Stromsparmodus spürbar weniger Leistung auf, Frequency Governing sollte also immer wo es möglich ist, zum Einsatz kommen.

Theorie und Praxis

Aktuelle Linux-Distributionen laden die entsprechenden Kernelmodule, ohne dass sich der Administrator darum kümmern muss. "/sys/devices/system/cpu/cpu0/cpufrequ/scaling_governor" gibt Auskunft darüber, welcher Steueralgorithmus aktiv ist. Beim Performance-Governor läuft die CPU stets in der höchsten, bei "powersave" stets in der niedrigsten Leistungsstufe. "ondemand" und "conservative" sorgen dagegen für eine bedarfsgerechte Skalierung, "conservative" priorisiert Stromsparen gegenüber der Systemleistung. Soweit die Theorie.

Leider ist es noch nicht damit getan, sicherzustellen, dass das Betriebssystem die CPU-Frequenz regelt: Voraussetzung für eine nennenswerte Einsparung ist zudem, dass die CPU möglichst oft energiesparende Zustände erreicht. Dass dies selbst im Systemleerlauf nicht oft genug der Fall war, dafür sorgte in der Vergangenheit schon der 100-Hz-Takt des Timer-Interrupts im Kernel selbst.

Beim Aufspüren von Ressourcenverschwendern hilft die von Intel-Anwendung Powertop.

Beim Aufspüren von Ressourcenverschwendern hilft die von Intel-Anwendung Powertop.

Seit Kernel 2.6.21 beziehungsweise 2.6.23 bei der 64-Bit Architektur kommt der Kernel ohne konstanten Timer-Interrupt aus, der die CPU regelmäßig weckt, egal ob es auf dem System etwas zu tun gibt oder nicht. Leider ist der Kernel bei weitem nicht der einzige Störenfried des CPU-Schlafes: Viele Userspace-Programm oder Kernelmodule setzen teilweise recht hochfrequente Timer ein, etwa um regelmäßig Tastatureingaben abzufragen. Beim Aufspüren dieser potenziellen Ressourcenverschwender hilft die von Intel zur Verfügung gestellte Anwendung Powertop. Wie die Software funktioniert, und wie im Einzelfall ein Patchen und Neukompilieren von Anwendungen Abhilfe schafft, erklärt [1].
Wesentlich einfacher ist es, nicht benötigte Treiber zu entladen: "imb-acpi" aber auch viele Alsa-Soundkarten-Treiber sorgen für erhöhten Stromverbrauch.

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook