AA_3d-thief_7221704_123rf_sellingpix.jpg

© Sellingpix, 123rf.com

Stromdiebe entlarvt

Energiesparen mit Powertop 2.0

08.10.2012
Das von Intel entwickelte Powertop hilft beim Stromsparen. In der neuen Version 2.0 kommt es auch mit GPUs zurecht und bietet erweiterte Tracking-Funktionen.

Wer Linux auf einem Notebook nutzt, stellt im Vergleich zu einer auf dem gleichen Gerät installierten Windows-Version möglicherweise fest, dass der Akku unter Windows länger durchhält. Das legt den Schluss nahe, dass Linux nicht optimal von den Funktionen zum Stromsparen, etwa der CPU, Gebrauch macht.

Das Problem tritt umso häufiger auf, je älter der Laptop oder die verwendete Distribution ist. Mitunter hilft ein mühevolles und in der Regel schlecht zu systematisierendes Tuning, die Probleme in den Griff zu bekommen.

Einfacher ist es hingegen, die Vorschläge eines Experten zu Rate zu ziehen, der in diesen Fragen auch die Fähigkeiten moderner CPUs und des Kernels einbezieht. So ein Experte ist das von Intels Open Source Division entwickelte Powertop [1].

Powertop

Das Tool stammt aus den Labors von Intel und eignete sich ursprünglich nur dazu, den Stromverbrauch der eigenen CPUs zu messen und Vorschläge zum Optimieren zu unterbreiten. Seit 2007 steht Powertop unter der GPLv2 zum freien Download bereit und unterstützt neben Intel-CPUs auch AMD-, ARM- und UltraSPARC-Prozessoren.

Ursprünglich zeigte Powertop nur den aktuellen und geschätzten Langzeit-Verbrauch der aktiven Prozesse an. Damit ließen sich beispielsweise Programme ermitteln, die den Prozessor und die Festplatte unnötigerweise aus dem Schlaf holen. Im Laufe der Zeit haben immer mehr Anwender Powertop eingesetzt, und Intel deren Wünschen entsprochen und zusätzliche Funktionen implementiert. Das führte jedoch über die Zeit dazu, dass die Code-Basis sich stetig vergrößerte, was wiederum den Hauptentwickler Arjan van de Ven dazu veranlasste, das Tool weitgehend neu zu schreiben.

Ein weiterer Grund für die Neuimplementation lag allerdings darin, dass moderne Distributionen die meisten Funktionen zum Stromsparen heute automatisch nutzen. Der Fokus des Programms liegt daher heute eher auf der Systemdiagnose, obwohl das Programm nach wie vor mehr vermag und unter anderem Vorschläge zum Stromsparen unterbreitet.

Eine erste Beta-Version von Powertop 2 stand bereits seit Anfang dieses Jahres zum Testen bereit. Seit Anfang Mai bietet das Projekt die finale Version 2.0 offiziell zum Download an [2]. Inzwischen liefern nahezu alle Distributionen die Software mit.

Installation

In den Repositories von Ubuntu 12.04 finden Sie wahlweise die Beta-Version 1.97, die bereits die Codebasis von Powertop 2 nutzt, und die stabile Version 1.13 der alten Serie 1.0. Beide installieren Sie via Synaptic oder apt-get install powertop, beziehungsweise apt-get install powertop-1.13 für die ältere Version. Jedoch sollten Sie dem aktuelleren Programm den Vorzug geben.

Legen Sie Wert auf die brandaktuelle Version, kompilieren Sie Powertop aus den Quellen. Dazu entpacken Sie zuerst das Archiv mittels

$ tar -xfzv powertop-2.0.tar.bz2

Als Abhängigkeiten fordert Powertop curses-base, curses-bin beziehungsweise libcurses5, sowie automake und autoconf und dh-autoreconf. Diese installieren Sie zunächst über Ihren Paketmanager. Anschließend wechseln Sie ins Verzeichnis der entpackten Quellen und geben die Befehle aus Listing 1 ein.

Listing 1

$ sudo ./autogen.sh
$ sudo ./configure
$ sudo ./make
$ sudo ./make install

Neuerungen

Powertop 2 ermittelt wie der Vorgänger das CPU-Modell sowie sonstige Geräte und Software, und zeigt eine ungefähre Leistungsaufnahme mithilfe der ACPI-Informationen über den Verbrauch an. Daneben nutzt die aktuelle Version jetzt das Kernel-Subsystem Perf zum Auslesen von Informationen über die Hardware (siehe Kasten "Performance-Counter-Subsystem").

Performance-Counter-Subsystem

Moderne Prozessoren bieten die Möglichkeit, mithilfe spezieller Register, sogenannter Performance Counter, bestimmte Ereignisse in der Hardware in Echtzeit zu überwachen. Dabei spielt das Subsystem Performance Counter (Perf) eine wichtige Rolle. Es abstrahiert im Linux-Kernel die Fähigkeiten aktueller CPUs zur Diagnose der Hardware. Das gleichnamige Programm Perf stellt die Schnittstelle im Userspace zum Subsystem bereit.

Powertop 2 arbeitet nun mit der Bibliothek Libparseevents zusammen, die es ermöglicht, Daten aus der Perf-Infrastruktur zu verarbeiten. Das ist ein wichtiger Schritt, denn die so gewonnenen Informationen sollen laut Intel wesentlich exakter sein, als bei früheren Versionen. Ein nicht zu unterschätzender Nebeneffekt des Zusammenspiels besteht zudem darin, dass ein künftiges Anpassen von Powertop an die Kernel-Entwicklung leichter fällt.

Da Powertop das Tool Perf für die Diagnose heranzieht, profitiert die Software so von den erheblich erweiterten Tracing- und Performance-Monitoring-Fähigkeiten neuerer Linux-Kernel. Allerdings setzt das zwingend einen Kernel ab Version 2.6.36 voraus, da erst diese die Perf benötigte Infrastruktur bereitstellen. Möchten Sie das Tool Perf direkt nutzen, etwa in der Form perf stat, installieren Sie die Pakete linux-tools oder linux-base.

Neu in Version 2.0 von Powertop sind die Tracking-Funktionen, mit deren Hilfe das Tool ermittelt, welche Komponenten hinsichtlich des Verbrauches problematisch erscheinen. Dabei schließt die Software Messungen an der GPU mit ein, wenn der Kernel diese Daten liefert. Zu diesem Zweck bringt es neue Treiber mit, etwa den i915-Treiber für Intel-Chipsätze und -CPUs.

Die Applikation ist jetzt in der Lage, mehrere WLAN-Schnittstellen abzufragen und Hot-Plugging-USB in Echtzeit zu messen. Darüber hinaus verbesserten die Entwickler das Auslesen der Daten von Notebook-Akkus. Die zweite große Verbesserung des Programms bezieht sich auf die Fähigkeit zum Erstellen von Reports: Powertop generiert jetzt beispielsweise Berichte im HTML- und demnächst (je nach Version) im CSV-Format.

Bedienkonzept

Die dritte große Block an neuen Funktionen gegenüber der Vorgängerversion besteht in der komplett überarbeiteten Ncurses-Oberfläche, die die Informationen jetzt auf fünf Tabs verteilt. So listet Overview (Übersicht) alle aktivierten Prozesse nach Leistungsaufnahme sortiert auf (Abbildung 1). Der Tab Idle Stats (Geräte im Leerlauf) liefert Informationen zum Einsatz der CPU beziehungsweise der Verweildauer in den jeweiligen C-States (siehe Kasten "C-States").

Abbildung 1: Die erste Seite der neuen Oberfläche zeigt eine grobe Übersicht darüber, mit welchen Programmen und Aufgaben sich die CPU gerade beschäftigt.

C-States

Die ACPI-Spezifikation definiert vier Betriebszustände, nämlich die des gesamten Systems (S-States), des Prozessors (P- und C-States) und sonstiger Komponenten (D-States). Je höher die Ziffer der Zustände, desto sparsamer arbeiten die Komponenten. Allerdings benötigen diese dann eine längere Zeit, um den Normalzustand wiederherzustellen.

Die Processor Performance States (P-States) und die Processor Operating States beziehen sich dabei auf die Fähigkeit moderner CPUs, je nach Auslastung des Prozessors, zwischen den verschiedenen unterstützen Frequenzen und Spannungen zu wechseln, was ausschlaggebend für die Mechanismen des Prozessors zum Stromsparen ist.

Befindet sich der Prozessor (oder einzelne Kerne) im Leerlauf, drosseln moderne CPUs von selbst die Leistungsaufnahme oder versetzen einen Teil der Kerne in den Energiesparmodus. Je nach Dauer des Leerlaufs schaltet die CPU dabei nach und nach in immer tiefere Idle-Zustände, die durch aufsteigende Nummern gekennzeichnet sind.

In den C-States C3 und C6 trennt die CPU ganze Bereiche des Kerns von der Versorgungsspannung, was erheblich Strom spart und zu den zentralen Bestandteilen von Intels Turbo-Boost-Konzept gehört. Wie viele und welche der bei Intel aktuell neun C-States ein Prozessor unterstützt, hängt von dessen Alter ab. Ältere Single-Core-Prozessoren besitzen beispielsweise nur vier C-States.

Darüber hinaus gibt es noch Unterschiede zwischen den Herstellern bei der Implementation der C-States: AMD-Prozessoren kennen beispielsweise die C-States C2E, C5 und C6 nicht; andere CPU-Hersteller oder ältere Prozessoren unterstützen ebenfalls nicht all neun C-States.

Oben im Fenster zeigt Powertop an, wie lange die CPU in einem bestimmten C-State verweilt, was es ermöglicht, abzuschäten, wie sich etwa eine geänderte Option für den Kernel auswirkt. Das Register Frequency Stats (Frequenz) widmet sich dagegen der CPU-Last.

Der Tab Device Stats (Statistiken der Geräte) listet die Leistungsaufnahme der einzelnen Komponenten auf, wobei Sie hier sehen, ob es sich im Einzelfall um einen Prozess oder ein Gerät (Treiber) handelt. Der letzte Tab Tunables (Einstellmöglichkeiten) zeigt Werte um die Energieaufnahme der verbauten Hardware zu optimieren. Dieser Teil von Powertop bezieht seine Informationen aus dem virtuellen Dateisystem Sysfs.

Wie erwähnt nutzen aktuelle Distributionen heute die meisten Stromsparfunktionen automatisch, weshalb sich der Schwerpunkt der Nutzung von Powertop 2.0 Richtung Diagnose verschiebt. Starten Sie Powertop 2.0 zum ersten Mal, hat sich auf den ersten Blick nicht viel zur Vorgängerversion geändert. Auch dieses Release zeigt nach dem Start zunächst im Tab Overview einen Überblick darüber, welche Programme die CPU gerade wie oft in Anspruch nehmen, was letztendlich die Zeit verkürzt, in der die CPU in stromsparenden Schlafzustand verweilen könnte.

Oberhalb der Prozessliste steht die gesamte Arbeitslast des Prozessors. Daneben und damit neu bei der Version 2.0 ist eine Anzeige, wie häufig der Grafikchip (GPU) im letzten Messabschnitt seine Arbeitskraft beisteuern musste (im Bild 0,0 GPU) und wie oft oft das Virtual File Systems VFS die Datenträger angesprochen hat. Die Rubrik Idle stats (Untätigkeits) liefert detaillierte Informationen zu den Schlafzeiten (C-States) der verschiedenen Prozessorkerne (Abbildung 2).

Abbildung 2: Die Seite Untätigkeits zeigt detaillierte Informationen zu den Schlafzeiten in den einzelnen Prozessorkernen.

Das nächste Register Frequency stats zeigt Ihnen, wie oft welche Taktfrequenzen anliegen oder wie häufig (prozentual) die CPU gegebenenfalls in den Turbo-Boost-Frequenzen schaltet. Unter Device stats finden Sie einen Überblick der Aktivität der einzelnen Geräte. Bei Geräten, die keine Stromspartechniken unterstützen, beziehungsweise nutzen steht immer 100 Prozent.

Interaktiv

Neben der reinen Diagnose enthält das letzte Register Tunables (Einstellmöglichkeiten) Regler, über die Sie bestimmte Stromsparfunktionen ein- oder ausschalten, beispielsweise Auto-Suspend für USB. Das Umschalten eines Status von Bad auf Good und umgekehrt erfolgt über [Eingabe] (Abbildung 3). Allerdings verrät Intel nicht, was Powertop im Einzelnen macht. Abgesehen davon gehen sämtliche Einstellungen beim Neustart verloren.

Abbildung 3: Das Register Tunables ermöglicht es, im interaktiven Modus Empfehlungen von Powertop zu übernehmen. Allerdings verwirft das System diese Änderungen nach einem Neustart.

Im Übrigen verrät die Datei README im Verzeichnis der entpackten Quellen von Powertop noch einige Besonderheiten und Parameter. So starten Sie etwa durch den Aufruf von powertop --calibrate die Kalibrierung der Energieschätzung. Das erhöht die Zuverlässigkeit der angezeigten Werte, weil die Software nun etwa den Einfluss von Display-Helligkeit oder der USB-Aktivität auf den Stromverbrauch in die Messung einbezieht.

Um von den neuen Report-Funktionen Gebrauch zu machen, verwenden Sie den Parameter --html, der einen HTML-Report im Home-Verzeichnis. Den versprochenen CSV-Report beherrschte die im Test verwendete Beta-Version 1.97 noch nicht.

Fazit

Da die meisten Distributionen inzwischen die mit Powertop aktivierbaren Möglichkeiten zum Stromsparen automatisch nutzen, hat sich der Wert von Powertop in den vergangenen zwei bis drei Jahren relativiert. Nützlich ist das Tool als Diagnose-Werkzeug aber dennoch.

Sind ältere Distributionen im Einsatz, lohnt sich der Griff zu Powertop allemal. Darüber hinaus aktiviert nicht jeder Distributor durchweg alle möglichen Funktionen zum Senken des Verbrauchs. 

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare