Messung der Leistungsaufnahme unter Linux: Unterschied zwischen den Versionen

Aus ThinkPad-Wiki
Zeile 25: Zeile 25:


== Randbedingungen ==
== Randbedingungen ==
Um eine Vergleichbarkeit der Messwerte zu erreichen, sind folgende Randbedingungen hilfreich:
Um eine Vergleichbarkeit der Messwerte zu erreichen, ist es wichtig ''reproduzierbare'' Randbedingungen einzuhalten. Folgendes Vorgehen ist dabei hilfreich:
* Akkubetrieb
* Akkubetrieb
* Leerer Desktop, d.h. keine Anwendungen gestartet
* Leerer Desktop, d.h. keine Anwendungen gestartet

Version vom 15. Mai 2011, 11:43 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

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 momentanen Verbrauchs (s.o.). Für den Hauptakku kann man der Wert über die Datei /sys/devices/platform/smapi/BAT0/power_now 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_now; sleep 1; done

Randbedingungen

Um eine Vergleichbarkeit der Messwerte zu erreichen, ist es wichtig reproduzierbare Randbedingungen einzuhalten. Folgendes Vorgehen ist dabei hilfreich:

  • Akkubetrieb
  • Leerer Desktop, d.h. keine Anwendungen gestartet
  • WLAN an und verbunden
  • Bluetooth und WWAN(UMTS) aus
  • Keine USB Geräte angeschlossen
  • Keine 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.