Messung der Leistungsaufnahme unter Linux: Unterschied zwischen den Versionen
K (Link zu hinkwatt) |
|||
Zeile 21: | Zeile 21: | ||
=== tp_smapi === | === tp_smapi === | ||
Der Weg über das Kernelmodul '''tp_smapi''' eignet sich besonders zur exakten Ermittlung des | Der Weg über das Kernelmodul '''tp_smapi''' eignet sich besonders zur exakten Ermittlung des Verbrauchs (s.o.). Für den Hauptakku kann man den Wert über die Datei '''/sys/devices/platform/smapi/BAT0/power_now''' (monentan) bzw. '''power_avg''' (gleitender Durchschnitt) abfragen (für den Ultrabayakku ist BAT0 durch BAT1 zu ersetzen). Der Wert aus power_now ist in mW angegeben und hat ein negatives Vorzeichen, da Strom entnommen wird. | ||
Für eine kontinuierliche Anzeige im Sekundentakt kann man folgendes Shell-Kommando verwenden (Abbruch mit Str+C): | Für eine kontinuierliche Anzeige im Sekundentakt kann man folgendes Shell-Kommando verwenden (Abbruch mit Str+C): | ||
while true; do cat /sys/devices/platform/smapi/BAT0/ | while true; do cat /sys/devices/platform/smapi/BAT0/power_avg; sleep 1; done | ||
=== thinkwatt === | === thinkwatt === |
Version vom 14. April 2012, 10:03 Uhr
Einleitung
Zur Messung der Leistungsaufnahme bei Laptops werden die Informationen der Elektronik im Akkupack ausgewertet. Zur Bestimmung des aktuellen Ladezustands führt die Akkuelektronik über jeden Lade- und Entladevorgang Buch und mißt zu diesem Zweck laufend Akkustrom und -spannung.
Die ermittelten Daten werden regelmäßig an den Laptop übermittelt und lassen sich über das ACPI-BIOS abfragen. Das ACPI-BIOS führt allerdings bei der Ausgabe eine gleitende Mittelwertbildung durch, sodaß der echte Momentanwert nicht zugänglich ist. Nahezu alle für Linux und die verschiedenen Desktopumgebungen verfügbaren Programme zeigen diese ACPI-Werte an.
Bei ThinkPads besteht darüber hinaus die Möglichkeit, über das Kernelmodul tp_smapi direkt auf die Rohdaten des "Embedded Controller" zuzugreifen.
"Meßinstrumente"
Wichtig: aus der Einleitung folgt, daß eine Messung nur im Akkubetrieb möglich ist.
Powertop
Das beim Chiphersteller Intel entwickelte Programm Powertop steht in allen Distributionen über die Paketquellen zur Verfügung (Paketname powertop).
Hinweis: powertop ist mit Root-Rechten aufzurufen.
Neben dem aktuellem Verbrauch [W] und der Restlaufzeit [h] (Werte auf Basis des ACPI-BIOS) werden weitere prozessorbezogene Kenndaten angezeigt:
- Verweildauer in den Schlafzuständen (C-States) [%]
- Verweildauer in den Taktstufen (P-States) [%]
- Wakeups [1/s]
- Verursacher von Wakeups, d.h. Programme die den Prozessor aufwecken
tp_smapi
Der Weg über das Kernelmodul tp_smapi eignet sich besonders zur exakten Ermittlung des Verbrauchs (s.o.). Für den Hauptakku kann man den Wert über die Datei /sys/devices/platform/smapi/BAT0/power_now (monentan) bzw. power_avg (gleitender Durchschnitt) abfragen (für den Ultrabayakku ist BAT0 durch BAT1 zu ersetzen). Der Wert aus power_now ist in mW angegeben und hat ein negatives Vorzeichen, da Strom entnommen wird.
Für eine kontinuierliche Anzeige im Sekundentakt kann man folgendes Shell-Kommando verwenden (Abbruch mit Str+C):
while true; do cat /sys/devices/platform/smapi/BAT0/power_avg; sleep 1; done
thinkwatt
thinkwatt zeichnet den zeitlichen Verlauf des Stromverbrauchs in einer Datei auf. Aus der Datei kann der Durchschnittsverbrauch errechnet und/oder eine Grafik mit gnuplot erstellt werden.
Voraussetzungen
- tp_smapi - Kernel-Modul für ThinkPads
- gnuplot - optional, wird benötigt um den aufgezeichneten Stromverbrauch in einer 2D-Grafik zu visualisieren
Kurzanleitung
thinkwatt auf der Festplatte speichern:
wget https://github.com/mikar/thinkwatt/raw/master/thinkwatt
Ausführbar machen:
chmod a+x thinkwatt
Ausführen:
./thinkwatt -r 300
Durch letzteren Befehl wird 5 Minuten lang der Stromverbrauch aufgezeichnet. Anschließend wird man gefragt, ob auch gleich eine Grafik erstellt werden soll: Beispielgrafik.
Randbedingungen für Vergleichbarkeit
Wenn eine Vergleichbarkeit der Messwerte - z.B. für einen Forumsthread - gewünscht wird, ist es wichtig reproduzierbare (d.h. wiederholbare) Randbedingungen einzuhalten. Folgendes Vorgehen hat sich bewährt:
- Akkubetrieb
- Leerer Desktop, d.h. keine Anwendungen gestartet
- WLAN an und verbunden
- Bluetooth und WWAN(UMTS) aus
- Keine externen USB-Geräte angeschlossen
- Keine Prozess- und Plattenaktivität im Hintergrund
- Minimale LCD-Helligkeit
- Notebook > 5 min nicht anfassen
Hinweis: die so gewonnenen Meßwerte stellen nicht den typischen Verbrauch des Notebooks im Betrieb dar!
Links
- Powertop - Anleitung bei ubuntuusers.de
- Powertop - Projektseite (englisch) - Vorsicht: die Hinweise auf der Seite "Tips & Tricks" sind hoffnungslos veraltet.
- LessWatts.org - Webseite von Intel zum Thema "Stromsparen mit Linux" (englisch) - auch hier teilweise veraltete Hinweise.