Zum Hauptinhalt Zur Navigation

Akkulaufzeiten: Powertop entlarvt Leistungsfresser unter Linux

Werkzeugkasten
Mit dem Werkzeug Powertop lässt sich der Energiebedarf von Hardware und Software auf Linux -Rechnern ermitteln und die Akkulaufzeit verlängern.
/ Jörg Thoma
70 Kommentare News folgen (öffnet im neuen Fenster)
Powertop hilft, die Akkulaufzeiten zu verlängern. (Bild: Christian Schmidt-David/Golem.de)
Powertop hilft, die Akkulaufzeiten zu verlängern. Bild: Christian Schmidt-David/Golem.de

Powertop(öffnet im neuen Fenster) ermittelt die Leistungsaufnahme von Software und Hardware unter Linux. Ursprünglich sollte mit der Anwendung lediglich Software ermittelt werden, die den Schlafzustand von CPUs übermäßig stört. Inzwischen ist nicht nur die Tracing-Funktion des Linux-Kernels Perf verbessert, sondern auch Powertop erweitert worden. Über den ACPI-Bus errechnet Powertop die aufgenommene Leistung in Watt. Außerdem gibt die Anwendung Tipps, welche Einstellungen zur Hardware noch verbessert werden können.

Powertop 1.97 - Energiespar-Tool
Powertop 1.97 - Energiespar-Tool (01:32)

Dabei greift Powertop auf die Informationen zu, die der ACPI-Bus durch den Linux-Kernel meldet. Deshalb sollte der Anwendung ein paar Minuten Zeit gegeben werden, um sich einzupendeln. Der Befehlsparameter calibrate soll die von Powertop getätigten Schätzungen verfeinern. Dabei wird der Energiebedarf des Displays und der USB-Geräte ermittelt.

Wir haben uns Powertop 1.97 unter dem aktuellen Ubuntu 11.10 und auf dem Ultrabook UX31 von Asus angesehen.

Leistungshungrige Soft- und Hardware

Die Ansicht in Powertop teilt sich in fünf Bereiche. Zunächst listet die Übersicht (Overview) sämtliche aktiven Prozesse, sortiert nach der von Powertop ermittelten Leistungsaufnahme auf. Hier wird nicht zwischen Hard- und Software unterschieden, lediglich die Spalte Category gibt einen Hinweis darauf, ob es sich um ein Gerät beziehungsweise dessen Treiber (Device) oder um Software, also um einen Prozess handelt. Erst wenn der Rechner in den Akkubetrieb versetzt wird, gibt Powertop die ungefähre elektrische Leistungsaufnahme an.

Unter Idle Stats wird die CPU-Nutzung insgesamt, per Kern und per Hyperthreading, angezeigt. Unter Frequency Stats wird die CPU-Last hingegen in den verschiedenen Taktstufen aufgelistet.

Powertop als Konfigurationswerkzeug

In der Tabelle Device Stats wird die Leistungsaufnahme der verbauten Hardware aufgelistet. Teils werden dort Werte über den ACPI-Bus ausgelesen, teils wird die Nutzung durch die Module oder Linux-Treiber angezeigt. In der letzten Rubrik namens Tunables werden Konfigurationswerte zur optimalen Energieaufnahme der verbauten Hardware aus dem virtuellen Dateisystem unter Sysfs angezeigt. Powertop unterscheidet hier zwischen guten und schlechten Werten. Per Enter-Taste können Werte mit Bad in Good umgeschaltet und so die Leistungsaufnahme verringert werden.

Allerdings sind diese Werte flüchtig, sie werden beim Abstecken und Anstecken des Ladegeräts, einem Neustart oder beim Aufwecken aus dem Ruhezustand zurückgesetzt. Erst mit dem Speichern in den entsprechenden Konfigurationsdateien bleiben sie permanent erhalten. In früheren Versionen zeigte Powertop noch an, welche Parameter in welchen Verzeichnissen in Sysfs gesetzt werden müssen. In der aktuellen Version muss der Anwender die Einstellungen selbst ermitteln. Wir wählten dazu die Anwendung Inotifywait , um die Aktivitäten im Sysfs-Verzeichnis zu überwachen.

Leistungshungrige Soft- und Hardware

Ist einmal das Verzeichnis ermittelt, in dem die Änderungen stattgefunden haben, können per cat die optimierten Werte ausgelesen werden. Mit dem Echo-Befehl lassen sich die Werte dann wieder hineinschreiben, etwa echo ᐸNeuer Wertᐳ ᐳ ᐸSysfs-Verzeichnisᐳ . Die gesammelten Befehle werden anschließend in einem ausführbaren Skript untergebracht, das als Benutzer root im Verzeichnis /etc/pm/power.d gespeichert wird. Dort wird es dann aufgerufen, wenn das Gerät nicht mehr am Ladekabel hängt.

Allerdings sind nicht alle Einstellungen, die Powertop vorschlägt, auch sinnvoll oder werden unter der jeweiligen Linux-Distribution nicht richtig umgesetzt. Werden die Werte bei einigen USB-Ports abgeschaltet, sind sie auch dann nicht mehr nutzbar, wenn ein Gerät daran angeschlossen wird. Erst nach der Umstellung in Powertop unter Tuneables auf den Wert bad lassen sie sich wieder nutzen.

Mehrere Watt einsparen

Mit Powertop konnten wir auf den meisten Geräten mehrere Watt einsparen. Dabei nutzen wir nicht nur die Vorschläge der Anwendung, sondern schalteten auch kurzerhand nicht verwendete Hardware aus, etwa Bluetooth. Hier entdeckten wir, dass es nicht reicht, Bluetooth über die Benutzeroberfläche zu deaktivieren. Denn der Treiber sorgte weiter für eine Belastung des Systems. Das fiel uns erst in Powertop auf. Nachdem wir das Modul kurzerhand auf die schwarze Liste unter /etc/modprobe.d setzten, ließ sich auch dieser Stromfresser entfernen.

Der Werkzeugkasten von Golem.de ist eine Sammlung kleiner Hilfsprogramme, die die Redaktion einsetzt. Vielleicht gibt es Alternativen, die ein Problem besser lösen? Wir freuen uns über Rückmeldungen und Tipps zu vergleichbaren Werkzeugen - auch für andere Betriebssysteme - im Forum.


Relevante Themen