Dynamisch arbeiten

Aktuelle Kernel-Versionen unterstützen bei AMD- und Intel-Prozessoren neben dem (veralteten) manuellen Setup der CPU-Frequenz drei Stromsparmodi. Diese aktiviert der Betriebssystemkern über entsprechende Scheduler (siehe Tabelle "Powersave-Governors"). Der einfachste Stromsparmodus nennt sich powersave. Er taktet die CPU auf die niedrigste Frequenz herunter und belässt sie in diesem Zustand. Daneben gibt es zwei dynamische Regler: ondemand und conservative. Während der Ondemand-Scheduler die CPU bei Bedarf sofort auf die höchste Frequenz taktet, arbeitet Conservative zunächst mit der niedrigsten Frequenz weiter und erhöht die Taktrate nur, falls der Bedarf an CPU-Leistung bestehen bleibt. Beim Heruntertakten verhalten sich die zwei Scheduler analog: Ondemand schaltet sofort wieder zur niedrigsten Frequenz, Conservative erst nach einer gewissen Zeit.

Powersave-Governors

Governor Erklärung Kernel-Modul
performance CPU arbeitet permanent auf höchster Frequenz cpufreq_performance
ondemand CPU schaltet bei Bedarf sofort auf die höchste Frequenz cpufreq_ondemand
userspace Die Frequenz lässt sich von Hand einstellen (veraltet) cpufreq_userspace
conservative CPU schaltet bei Bedarf zur nächst höheren Frequenz cpufreq_conservative
powersave CPU bleibt auf der niedrigsten Frequenz cpufreq_powersave

Bei AMD-Prozessoren sorgt der Conservative-Scheduler für die längsten Akkulaufzeiten; auch die Kernel-Dokumentation empfiehlt, ihn zu nutzen. Für Intel-CPUs dagegen soll laut Kernel-Entwickler Arjan van de Ven der Ondemand-Scheduler die erste Wahl sein [2]. In unseren Tests mit Intel- und AMD-Prozessoren aus der Mobil-Riege ließen sich jedoch keine signifikanten Unterschiede zwischen den zwei dynamischen Governors feststellen, die Verbrauchsdifferenz liegt unter 0,1 Watt. Hingegen wirkt sich der Governor je nach CPU auf den Lüfter aus: Bei Powersave-Einstellungen blieb dieser auf einem unserer Testrechner stets auf niedrigster Stufe, bei einem dynamischen Governor schaltete er von Zeit zu Zeit ein. Detaillierte Benchmarks mit RHEL 5.2 finden sich bei IBM [3].

Am einfachsten benutzen Sie für das Setup des gewünschten Schedulers ein grafisches Tool. Unter KDE klicken Sie zum Beispiel auf das Batteriesymbol der Energieverwaltung und wählen hier einen Eintrag unter Energieprofil aus. Über die Einstellungen finden Sie unter Profile ändern | Prozessor und System die verfügbaren Scheduler zur Auswahl (Abbildung 2). Mit Dynamisch (Energiesparend) schaltet das System auf Conservative, über Dynamisch (nach Bedarf) schalten Sie den Ondemand-Governor ein. Die einzelnen KDE-Energieprofile nehmen über den CPU-Scheduler hinaus noch zahlreiche weitere Einstellungen vor. So deaktiviert etwa das Profil Xtreme Powersave in der Grundeinstellung auch sämtliche Desktop-Effekte. In unseren Tests ergaben sich jedoch dadurch Desktop-Effekte keine messbaren Einsparungen beim Stromverbrauch (einen funktionierenden Grafiktreiber vorausgesetzt).

Abbildung 2: Der gewünschte CPU-Frequency-Governor lässt sich bequem über das KDE-Batterie-Applet einrichten.

Wer kein passendes grafisches Tool zur Hand hat, greift einfach zur Kommandozeile. Theoretisch bringt in aktuellen Linux-Distributionen jeder Governor ein eigenes Kernelmodul mit, in der Praxis hat sich jedoch das Setup über die Dateien unter /sys/devices/system/cpu/ durchgesetzt. Hier finden Sie pro Prozessor beziehungsweise pro Kern ein Verzeichnis cpuX (Abbildung 3), das wiederum Unterverzeichnisse enthält.

Abbildung 3: Über Pseudodateien im /sys-Dateisystem lässt sich der Governor auch per Kommandozeile einrichten.

Der Inhalt der Datei /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors verrät, welche der erwähnten CPU-Scheduler der Kernel beziehungsweise der Prozessor unterstützen. Über den Befehl echo Governor > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor richten Sie als Systemadministrator den gewünschten ein. Anstelle von Governor wählen Sie dabei einen der fünf Einträge aus der Tabelle "Powersave-Governors". Vergessen Sie bei Mehrkern-Systemen nicht, den Befehl auch für cpu1, cpu2 und so weiter auszuführen, falls Sie auf der Konsole arbeiten.

Möchten Sie den Prozessor noch stromsparender arbeiten lassen, greifen Sie als letzten Trick noch zum sogenannten Undervolting. Dabei wird die CPU mit einer niedrigeren als der vom Hersteller angegebenen Spannung betrieben, was beispielsweise bei älteren Pentium-M-Prozessoren recht gut funktionieren soll [4]. Wer sich ans Undervolting macht, sollte sich allerdings darüber im Klaren sein, dass er dabei die CPU beschädigen kann.

Störenfriede

Performance-States (sogenannte P-States) stellen bei aktuellen Prozessoren nur eine Möglichkeit zum Stromsparen dar. Eine zweite besteht darin, den Prozessor in einen bestimmten CPU-Zustand ("C-State") zu versetzen, der zusätzlich Strom spart – nicht zu verwechseln mit dem CPU-Throttling, das keine Energie spart. Während der Linux-Kernel bei aktuellen Intel- und AMD-CPUs den Umgang mit P-States gleichermaßen gut beherrscht, haben die Nutzer von aktuellen Turion-X2-Prozessoren in Sachen C-States das Nachsehen.

Zwar unterstützen diese CPUs die C-States C1E, C2, C3 und C4, es gibt jedoch dafür unter Linux bislang nur einen beschränkten Support [5]. So zeigt die Ausgabe von cat /proc/acpi/processor/CPU0/power bei den meisten AMD-Prozessoren als max_cstate lediglich C1 an. Das macht sich nicht nur in einem – gegenüber Windows – leicht erhöhten Stromverbrauch nachteilig bemerkbar. Zudem heizen sich die Systeme mehr auf, sodass der Lüfter ständig arbeitet.

C-States sparen Strom, indem der Prozessor für eine gewisse Zeit einfach nicht arbeitet. Im normalen Betrieb befindet sich der Prozessor im C0-Zustand. C1 bedeutet, dass die CPU komplett ausgeschaltet ist. Ab C2 beginnen dann die Stromsparmodi – je höher die Ziffer, desto mehr Bereiche legt der Prozessor still [6]. Wie gut das funktioniert, hängt nicht nur vom Kernel, sondern auch vom BIOS und den benutzten Anwendungen ab.

Ein wesentliches Element, das die CPU bislang unter Linux stets auf Trab hielt, war die innere Uhr des Kernels: die sogenannten Timer-Ticks. Auf aktuellen Linux-Systemen (ab Kernel 2.6.23) erfolgen aber auch diese Ticks nur noch bei Bedarf, dem Stromsparen sind somit kaum Grenzen gesetzt – theoretisch. In der Praxis wacht die CPU im Schnitt 50 bis 100 Mal pro Sekunde aus einem möglichen C-Zustand auf und verhindert so ein effizientes Stromsparen. Messen und veranschaulichen lässt sich dieser Vorgang mit dem Tool Powertop. Die Mainstream-Distributionen bringen es in ihren Standard-Repositories mit, den Quellcode gibt es auf Intels Stromsparseite Lesswatts.org [7].

Powertop zeigt in der oberen Fensterhälfte je nach Prozessor den aktiven C-State und P-State an. Der (meist rote) Balken darunter verrät, wie oft der Prozessor pro Sekunde aus dem erwünschten Schlaf erwacht (Abbildung 4). OpenSuse oder Ubuntu in der Standard-Konfiguration zeigen hier Werte über der 200er-Marke an, mit ein paar Tricks lassen sich aber Werte unter 20 erreichen (Abbildung 5). Der Balken färbt sich dann orange. Im unteren Bereich erscheint eine Liste der Prozesse, die den Kernel am häufigsten aus dem Schlaf reißen, ganz unten gibt das Programm Tipps, wie sich die Akkulaufzeit verbessern lässt.

Abbildung 4: Powertop zeigt die P- und C-States an und gibt Tipps zum Stromsparen. Das Beispiel zeigt einen Pentium-M-Prozessor von Intel.
Abbildung 5: Bei den meisten CPUs von AMD liefert der Kernel keine Informationen zu den C-States, wie hier am Beispiel eines Turion-X2-Prozessors zu sehen.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 11/2017: Server für Daheim

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 3 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...