PowerTOP
Achtung!
Dieser Artikel wird aktuell in Baustelle/PowerTOP überarbeitet. Daher kann es sein, dass diese Seite hier veraltete oder nicht (mehr) zutreffende Informationen enthält. Vergleiche beide Versionen und wende dich im Zweifelsfall mit deinem konkreten Anliegen an das Support-Forum. Änderungen am Artikel bitte nur in Baustelle/PowerTOP!
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Fehlerhafte Anleitung
Diese Anleitung ist fehlerhaft. Wenn du weißt, wie du sie ausbessern kannst, nimm dir bitte die Zeit und bessere sie aus.
Anmerkung: Die Datei rc.local ist bei Unix-Systemen seit 1983 ein obsoletes Relikt des Init-Systems vor SystemIIIinit (ersetzt durch SystemVinit, bei Ubuntu ersetzt durch Archiv/Upstart, ersetzt durch Systemd. Die betreffenden Passagen in diesem Artikel bedürfen einer Überarbeitung.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
PowerTOP 🇬🇧 ist ein Werkzeug für die Kommandozeile, welches den Energieverbrauch des Systems analysiert und darauf basierend Tipps zur Optimierung dauerhaft laufender Rechner gibt oder bei mobilen Computern (Laptops, Netbooks) Vorhersagen zu Akkulaufzeit macht.
Installation¶
Folgendes Paket muss installiert [1] werden:
powertop
Befehl zum Installieren der Pakete:
sudo apt-get install powertop
Oder mit apturl installieren, Link: apt://powertop
Benutzung¶
PowerTOP wird im Terminal mit folgendem Befehl gestartet [2]:
sudo powertop OPTIONEN
Das Programm muss mit Root-Rechten [3] gestartet werden. PowerTOP läuft kontinuierlich und muss explizit mit Esc oder Strg + C beendet werden.
Optionen¶
Beim Programmstart stehen folgende Optionen zur Verfügung:
Startparameter von PowerTOP 1.97 oder neuer | |
Option | Beschreibung |
--debug | Debug-Modus aktivieren (nur zur Fehlersuche) |
--version | Anzeige der Version |
--calibrate | startet das Programm im Kalibrierungs-Modus (der Rechner sollte während der Kalibrierung nicht genutzt werden. Dauert bis zu einer Stunde!) |
--extech[=devnode] | einen externen "Extech Power Analyzer" verwenden |
--html[=DATEINAME] | einen HTML-Report erstellen |
--csv[=DATEINAME] | einen CSV-Report erstellen |
--time[=SEKUNDEN] | einen Report für x Sekunden erstellen |
--iteration[=x] | Wie oft jeder Test wiederholt werden soll |
--workload[=DATEINAME] | Datei zur Lasterzeugung |
--auto-tune | Setzt automatisch alle optimierbaren Anpassungen |
--quiet | Die Ausgabe auf stderr unterdrücken |
--help | verfügbare Optionen anzeigen |
Übersicht¶
|
Übersicht |
Nach dem Start kann es etwas dauern, bis alle Daten geladen sind und die Übersicht angezeigt wird. In der ersten Zeile werden die PowerTOP Version und fünf Reiter angezeigt:
Übersicht ("Overview")
Untätigkeits-Statistik ("Idle Stats")
Frequenz-Statistik ("Frequency Stats")
Geräte-Statistik ("Device Stats")
Einstellungen ("Tuneables")
Aufwachvorgänge ("<englische Übersetzung fehlt>")
Die anderen Reiter können über die Tasten Tab ⇆ und ⇧ + Tab ⇆ erreicht werden.
Unter der Reiter-Auswahl wird bei Akku-Betrieb als erstes die Leistung, die der Akku liefert, angezeigt. Bei Netzbetrieb wird die einzeilige Zusammenfassung von "wakeups/second", "GPU ops/second" und "VFS ops/sec" als erstes angezeigt. Darunter befindet sich die Darstellung der einzelnen Prozesse mit der CPU-Verwendungszeit "Usage" pro Sekunde, mit der Anzahl der Aufwachenvorgänge pro Sekunde "Events/s", der "Category" und der Beschreibung.
Hinweis:
Ab Version 2.0 gibt es im Akku-Betrieb eine Spalte mit der geschätzten Leistungsaufnahme "Power est." in Watt, welche am besten ignoriert wird. Es gibt keine Möglichkeit, die Leistungsaufnahme den einzelnen Prozessen zuzuordnen und die Anzeigen liegen daher teils gravierend neben der Realität.
Leerlauf- und Frequenz-Statistik¶
Auf diesen beiden Reitern wird die Verweildauer des Prozessors in verschiedenen Energiesparmodi (C-States 🇩🇪) und der Verlauf der Prozessortaktung angezeigt.
Hinweis: Die Verweildauer zu den Frequensstatistiken wird ggf. nicht korrekt angezeigt. Die Verweildauer zu den C-States scheint jedoch zu funktionieren.
Untätigkeits-Statistik | Frequenz-Statistik |
|
Geräte-Statistik |
Geräte-Statistik¶
Diese Ansicht zeigt, wie stark ein Gerät ausgelastet ist. Dies kann leicht mit der Bildschirm-Helligkeit getestet werden.
Hinweis:
Die Anzeige der CPU-Auslastung deckt sich nicht mit der anderer Werkzeuge wie dem System Monitor.
Anpassungen¶
In PowerTOP können verschiedene Anpassungen unter "Einstellungen" getestet werden. Mit der Taste ⏎ können die aufgeführten Vorschläge einfach aktiviert ("gut") oder auch wieder deaktiviert ("schlecht") werden. Da die von PowerTOP vorgenommenen Änderungen nicht gespeichert werden können, erzeugt man sich einen HTML-Report, um an die dazugehörigen Befehle zu gelangen:
sudo powertop --html=powertop.html
Empfehlenswert ist eine Aktivierung der eigenen Anpassungen beim Systemstart. Dies kann mit Hilfe eines Shell-Skripts erfolgen, das über die Datei /etc/rc.local gestartet wird. Alternativ kann man die Anpassungen direkt in dieser Datei festlegen.
Eine Umsetzung der PowerTOP-Empfehlungen könnte folgendermaßen aussehen. Es ist zu beachten, dass diese Einstellungsbeispiele unbedingt noch an die eigene Hardware angepasst werden müssen:
|
Einstellungen |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #!/bin/bash ## radeon powersave ## echo profile > /sys/class/drm/card0/device/power_method echo auto > /sys/class/drm/card0/device/power_profile ## Kernel ### echo 0 > /proc/sys/kernel/nmi_watchdog echo 0 > /proc/sys/kernel/watchdog ## VM ## echo 5 > /proc/sys/vm/laptop_mode echo 1500 > /proc/sys/vm/dirty_writeback_centisecs ## CPU ## 0 performance 1 powersave echo 1 > /sys/devices/system/cpu/sched_mc_power_savings echo 1 > /sys/devices/system/cpu/sched_smt_power_savings ## SATA Link Power Management ## for i in /sys/class/scsi_host/host[01234]/link_power_management_policy; do echo min_power >$i; done ## Intel Sound ## 30 = 30 s bis zum Standby des Chips. echo Y > /sys/module/snd_hda_intel/parameters/power_save_controller echo 30 > /sys/module/snd_hda_intel/parameters/power_save ## Runtime PM for PCI Device find /sys/bus/pci/devices/*/power -name control -exec echo auto >{} \; for i in $(find /sys/devices/pci0000\:00/0* -maxdepth 3 -name control); do echo auto > $i; done ## USB ## Nicht generell zu empfehlen! Ruckeln bei Mäusen. #for i in /sys/bus/usb/devices/*/power/control; do echo auto >$i; done # Wake on LAN abschalten ethtool -s eth0 wol d exit 0 |
Automatische Anpassungen¶
PowerTOP kann mit der Option "--auto-tune" alle optimierbaren Anpassungen automatisch auf "on" ("gut") setzten.
sudo powertop --auto-tune
Dabei werden allerdings auch USB-Geräte, wie Maus und Tastatur, "optimiert", was zu Nutzungsverzögerungen führen kann. Erst nach einem Tippen oder Klicken reagieren diese wieder. Die betroffenen Geräte können manuell wieder zurückgesetzt werden. Das folgende Script startet powertop und prüft danach alle USB-Geräte, welche "Human Interface Devices" ("HID") nutzen. Für diese wird jeweils das Power-Management deaktiviert. Das Script muss mit "sudo" ausgeführt werden. Es kann auch mit einem Systemd-Service oder in der Datei /etc/rc.local beim Systemstart verwendet werden.
1 2 3 4 5 6 7 8 | #!/bin/bash powertop --auto-tune HIDDEVICES=$(ls /sys/bus/usb/drivers/usbhid | grep -oE '^[0-9]+-[0-9\.]+' | sort -u) for i in $HIDDEVICES; do echo -n "Enabling " | cat - /sys/bus/usb/devices/$i/product echo 'on' > /sys/bus/usb/devices/$i/power/control done exit 0 |
Links¶
Projektseite 🇬🇧
PowerTOP Users's Guide 🇬🇧 - Dokumentation (PDF)
Quellcode 🇬🇧
PowerTOP 2.0 – Strom sparen unter Linux 🇩🇪 - heise Open Source, 06/2011
Weitere Artikel zum Thema: