Messung der Leistungsaufnahme unter Linux: Unterschied zwischen den Versionen
(→Links) |
(Links) |
||
(44 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== Einleitung == | == 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. | |||
== Randbedingungen == | Bei ThinkPads besteht darüber hinaus die Möglichkeit, über das Kernelmodul '''tp_smapi''' direkt auf die Rohdaten des "Embedded Controller" zuzugreifen. | ||
== "Meßinstrumente" == | |||
<u>Wichtig:</u> aus der Einleitung folgt, daß eine Messung nur im '''Akkubetrieb''' möglich ist. | |||
=== Powertop === | |||
Das beim Chiphersteller Intel entwickelte Programm [http://www.linuxpowertop.org/ Powertop] steht in allen Distributionen über die Paketquellen zur Verfügung (Paketname '''powertop'''). | |||
<u>Hinweis:</u> '''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 | |||
'''<u>Warnhinweis:</u> die Spalte "Power est." in den Rubriken "Overview" und "Device stats" stellt keinesfalls eine zutreffende Schätzung des Verbrauchs einzelner Prozesse oder Geräte dar, stattdessen wird hier grober Unfug angezeigt. Powertop ist nicht in der Lage den Verbrauch einzelner Komponenten zu schätzen oder gar direkt zu messen. Lediglich der Gesamtverbrauch kann über die Akkuelektronik ermittelt werden.''' | |||
=== 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 15-Sekunden-Takt kann man folgendes Shell-Kommando verwenden (Abbruch mit Str+C): | |||
while true; do cat /sys/devices/platform/smapi/BAT0/power_avg; sleep 15; done | |||
=== thinkwatt === | |||
[https://github.com/serialoverflow/thinkwatt/ thinkwatt] zeichnet den zeitlichen Verlauf des Stromverbrauchs in einer Datei auf. Aus der Datei kann der Durchschnittsverbrauch errechnet und/oder eine Grafik mit [http://www.gnuplot.info/ gnuplot] erstellt werden. | |||
==== Voraussetzungen ==== | |||
* [http://www.thinkwiki.org/wiki/Tp_smapi tp_smapi] - optional, Kernel-Modul für ThinkPads | |||
* [http://www.gnuplot.info/ 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/serialoverflow/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: [https://github.com/mikar/thinkwatt/blob/master/example_datafile.png 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 | * Akkubetrieb | ||
* Leerer Desktop, d.h. keine Anwendungen gestartet | * Leerer Desktop, d.h. keine Anwendungen gestartet | ||
* WLAN an und verbunden | * WLAN an und verbunden | ||
* Bluetooth und WWAN(UMTS) aus | * Bluetooth und WWAN(UMTS) aus | ||
* Keine USB Geräte angeschlossen | * Keine externen USB-Geräte angeschlossen | ||
* Keine Plattenaktivität im Hintergrund | * Keine Prozess- und Plattenaktivität im Hintergrund | ||
* Minimale LCD-Helligkeit | * Minimale LCD-Helligkeit | ||
* Notebook > 5 min nicht anfassen | * Notebook > 5 min nicht anfassen | ||
<u>Hinweis:</u> die so gewonnenen Meßwerte stellen nicht den typischen Verbrauch des Notebooks im Betrieb dar! | <u>Hinweis:</u> die so gewonnenen Meßwerte stellen ''nicht'' den typischen Verbrauch des Notebooks im Betrieb dar, sondern eine Art "Normverbrauch"! | ||
== Links == | == Links == | ||
* [http://www.linuxpowertop.org/ Powertop] - Projektseite (englisch) | * [http://wiki.ubuntuusers.de/PowerTOP2 Powertop] - Anleitung bei ubuntuusers.de | ||
* [http://www.lesswatts.org/] - Webseite von Intel zum Thema "Stromsparen mit Linux" (englisch) | * [http://www.linuxpowertop.org/ Powertop] - Projektseite (englisch) - Vorsicht: die Hinweise auf der Seite "Tips & Tricks" sind hoffnungslos veraltet. | ||
* [http://www.lesswatts.org/ LessWatts.org] - Webseite von Intel zum Thema "Stromsparen mit Linux" (englisch) - auch hier teilweise veraltete Hinweise. | |||
[[Category:Linux]] | [[Category:Linux]] | ||
[[Category:Stromsparen]] | [[Category:Stromsparen]] |
Aktuelle Version vom 2. Oktober 2017, 15:17 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
Warnhinweis: die Spalte "Power est." in den Rubriken "Overview" und "Device stats" stellt keinesfalls eine zutreffende Schätzung des Verbrauchs einzelner Prozesse oder Geräte dar, stattdessen wird hier grober Unfug angezeigt. Powertop ist nicht in der Lage den Verbrauch einzelner Komponenten zu schätzen oder gar direkt zu messen. Lediglich der Gesamtverbrauch kann über die Akkuelektronik ermittelt werden.
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 15-Sekunden-Takt kann man folgendes Shell-Kommando verwenden (Abbruch mit Str+C):
while true; do cat /sys/devices/platform/smapi/BAT0/power_avg; sleep 15; 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 - optional, 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/serialoverflow/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, sondern eine Art "Normverbrauch"!
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.