Ubuntu 16.04 Xenial Xerus
Ubuntu 14.04 Trusty Tahr
Ubuntu 12.04 Precise Pangolin
Ubuntu bietet von Haus aus leider nicht immer die gleichen Möglichkeiten zum Strom sparen wie Windows. Dies wird insbesondere bei mobilen Geräten wie beispielsweise Notebooks deutlich. Dadurch kann sich die maximale Akkulaufzeit unter Ubuntu deutlich von der unter Windows unterscheiden.
Dieser Wiki-Artikel basiert auf Erfahrungen mit einem Samsung X20 und soll verschiedene Möglichkeiten aufzeigen, mit denen die Laufzeit verlängert werden kann – auch wenn damit nicht zwangsläufig die gleiche Laufzeit wie unter Windows erreicht wird. Am Ende findet man eine Liste mit erfolgreich getesteter Hardware, die gerne erweitert werden kann.
Auch wer einen Desktop-Rechner einsetzt, kann von einigen der vorgestellten Mechanismen profitieren. Allerdings hat diese Geräteklasse den doppelten bis dreifachen Strombedarf eines Notebooks. Eine Übersicht zu den allgemeinen Energiesparmodi, die unter Linux genutzt werden können, findet man im Artikel Energiesparmodi mit ACPI.
Um eine vergleichbare Aussage über den Stromverbrauch treffen zu können, sollte man die Leistung in Watt (Spannung in Volt mal Strom in Ampere) herausfinden. Bei einem durchschnittlichen Laptop im Leerlauf müsste sich hierbei ein Leistungsbedarf von ca. 15 - 25 Watt ergeben. Unter Voll-Last kann sich dieser leicht verdoppeln. Bei der Messung hilft ein Energiekostenmessgerät, wie es im Elektrofachhandel für ungefähr 20 Euro verkauft wird.
Die meisten Desktop-Umgebungen enthalten grafische Werkzeuge, um entsprechende Einstellungen vorzunehmen.
Beim Akkubetrieb wird in der Unity-Menüleiste ein Symbol mit dem Ladezustand angezeigt. Bei einem Linksklick auf das Symbol erscheint ein Menü. Der erste Menüpunkt informiert über den Ladezustand des Akkus bzw. liefert eine Schätzung, wieviel Zeit bis zum vollständigen Laden oder Entladen verstreichen wird. Ein weiterer Linksklick auf den Menüpunkt öffnet die "Energiestatistik", in der weitere Informationen zu Netzteil, Akku und Prozessor angezeigt werden.
Der zweite Menüpunkt "Zeit in der Menüleiste anzeigen" schaltet die Anzeige der Restzeit (bis geladen/entladen) für das Symbol in der Menüleiste um. Der dritte Menüpunkt "Energieeinstellungen..." öffnet "Systemeinstellungen → Leistung" in der das Verhalten bei Inaktivität, Erreichen des kritischen Ladezustandes und Schließen des Deckels eingestellt werden können. Außerdem kann eingestellt werden, ob das Symbol in der Unity-Menüleiste nie, beim Laden/Entladen der/des Akkus oder immer angezeigt wird.
Die KDE Energieverwaltung ist erst ab KDE 4.2 verfügbar. Grundsätzlich werden Profile genutzt, mit denen das Energieverhalten in verschiedenen Situationen festgelegt wird. Dazu gehören auch die Bildschirmhelligkeit und Ruhezustände der Hardware. Ehemalige Benutzer von KDE Powermanager (Guidance), KLaptop oder KPowersave finden hiermit einen geeigneten Ersatz.
Beim Akkubetrieb wird im MATE-Panel ein Symbol mit dem Ladezustand angezeigt. Nach einem Rechtsklick darauf kann man "Informationen" bzw. "Energieverbrauch" auswählen, wodurch ein Werkzeug zum Anzeigen der Energie-Informationen gestartet wird. Dort gibt es unter anderem Verlaufsanzeigen für den Energieverbrauch. Dies eignet sich hervorragend, um den Erfolg verschiedener Sparmaßnahmen sichtbar zu machen.
Unter "System → Einstellungen → Energieverwaltung" können außerdem einige nützliche Einstellungen getroffen werden. Will man die Energieverwaltungsoptionen noch genauer einstellen, so startet man den Konfigurationseditor dconf-editor und navigiert zu "org.mate.power-manager". Dort kann man weit mehr Einstellungen als in der grafischen "Energieverwaltung" vornehmen.
Die Energieverwaltung von Xfce wird erst ab Xubuntu 11.04 als Standard genutzt. Die Einstellungsmöglichkeiten sind vielfältig und decken die Ansprüche der meisten Benutzer bzgl. einer Energieverwaltung ab. Zu den Details siehe xfce4-power-manager.
Lubuntu setzt ab 11.10 ebenfalls den xfce4-power-manager ein.
Um die momentane Temperatur der CPU(s) und den Stromverbrauch der Batterie(n) herauszufinden, kann man mit dem Befehl watch in einem Terminal [1] eine sekündlich aktualisierte Überwachung betrachten:
watch -n 1 cat /proc/acpi/battery/*/state
Alternativ kann der allgemeine ACPI-Status abgefragt werden:
watch -n 1 acpi -V
Beenden lassen sich beide Abfragen mit Strg + C . Beide Befehle helfen nur begrenzt, um die verbleibende Akkulaufzeit abschätzen zu können. Einfacher gelingt dies mit ibam.
So banal es klingen mag, aber man kann schon Strom sparen, indem man überflüssige Funktionen seines Notebooks deaktiviert. Wie groß die Einsparungen sind, sei einmal dahingestellt, aber wenn das eingebaute WLAN oder das CD-ROM Laufwerk gerade nicht benötigt wird, warum sollen sie dann im laufenden Betrieb Strom verbrauchen?
Ein Kommandozeilenwerkzeug für diesen Zweck ist TLP .
Gerade das Deaktivieren von WLAN kann bis zu 2 Watt Leistung einsparen. Die meisten Laptops haben einen Schalter, mit dem man WLAN hardwareseitig deaktivieren kann. Außerdem kann man WLAN auch sehr einfach mit dem NetworkManager deaktivieren. rfkill kann WLAN, Bluetooth und weitere Funkgeräte abschalten.
Alternativ kann man das WLAN auch mit dem folgenden Befehl deaktivieren (wlan
X bitte anpassen):
sudo iwconfig wlanX txpower off
bzw. in den Stromspar-Modus versetzen (nur bei Intel ipw2200
- und ipw3945
-Treibern):
sudo iwpriv wlanX set_power 5
Auch die Abschaltung von Bluetooth könnte helfen, entweder mit entsprechender Taste oder bei den meisten Sony-Laptops mit:
spicctrl -l0
Bei IBM/Lenovo Thinkpads kann Bluetooth auf folgende Weise ausgeschaltet werden:
echo -n "disable" | sudo tee '/proc/acpi/ibm/bluetooth'
Wenn man Bluetooth auf einem Thinkpad eher selten nutzt, kann es sinnvoll sein, es gleich beim Booten automatisch abschalten zu lassen.
Den sehr großen Einfluss der Bildschirmhelligkeit auf die Akkulaufzeit kennen die meisten. Es sollte also ein guter Kompromiss zwischen Stromverbrauch und Lesbarkeit gefunden werden. Zwischen der niedrigsten und hellsten Stufe liegen typischerweise 4 Watt Unterschied.
Unbedingt ausschalten sollte man jegliche grafische Bildschirmschoner und Desktop-Effekte wie Fensterschatten und Transparenz, da diese den Prozessor und die Grafikkarte belasten. Stattdessen sollte man das Display automatisch abschalten ("schwärzen") lassen. Unabhängig von der Desktop-Umgebung kann man das gewünschte Verhalten mit dem Befehl xset steuern. Mehr Details sind im Artikel Bildschirmschoner zu finden.
In geringem Umfang können auch dunkle Hintergrundbilder und entsprechende Themen zum Energiesparen beitragen. Der Effekt ist aber nur bei Röhrenmonitoren deutlich spürbar, bei Flachbildschirmen kann er faktisch vernachlässigt werden (siehe z.B. Does a Darkened Google Really Save Electricity? ).
PowerTOP ist ein von Intel entwickeltes Werkzeug, das den Prozessor-Status im Leerlauf analysiert. Es kann unter anderem den aktuellen und gemittelten Verbrauch des Systems (in Watt) anzeigen und vor allem jene im Hintergrund laufende Prozesse ermitteln, die den Prozessor am häufigsten aus den stromsparenden Betriebsmodi aufwecken. Darüber hinaus schlägt es Einstellungen vor, die den Energieverbrauch weiter reduzieren können. Diese Tipps bestehen meist aus Abschaltungen unnötiger Prozesse.
Mit Flash erstellte Webseiten bzw. die integrierte Nutzung des Browser-Plugins verursachen eine der größten CPU-Belastungen, da unter Linux keine Hardware-Beschleunigung vorhanden ist. Abhilfe schafft das Schließen der Fenster, sobald sie nicht mehr gebraucht werden und Firefox-Erweiterungen wie Flashblock, NoScript oder Adblock.
Z.B. Mäuse kann man automatisch in Ruhestellung bringen lassen. Als erstes benutzt man den Befehlt lsusb
, um die Busnummer und Gerätenummer herauszufinden:
lsusb
Mögliche Ausgabe:
Bus 005 Device 014: ID 04b3:4485 IBM Corp. Bus 005 Device 001: ID 0000:0000 Bus 004 Device 009: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader Bus 004 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 001 Device 008: ID 04b3:310c IBM Corp. Bus 001 Device 007: ID 050d:0121 Dell Mouse Bus 001 Device 001: ID 0000:0000
Hieraus merkt man sich Bus- und Gerätenummer und sucht in /sys/bus/usb/devices/ nach der Maus.
ls /sys/bus/usb/devices | grep -v :
1-1 1-2 4-2 5-6 usb1 usb2 usb3 usb4 usb5
Mit cat
lassen sich die Inhalte der Bus- und Gerätenummerndatei ausgeben:
cat /sys/bus/usb/devices/1-1/{bus,dev}num
1 8
cat /sys/bus/usb/devices/1-2/{bus,dev}num
1 7
Eventuell ist ein Durchsuchen mit Nautilus und (im folgenden erklärten) Ändern der Dateien in einem Editor mit Rootrechten bequemer/erfolgreicher.
In dem Beispiel ist das Verzeichnis der Maus 1-2, da Bus- und Gerätenummer mit der Ausgabe von lsusb
übereinstimmen.
Jetzt wird das System angewiesen, das Gerät automatisch in Ruhe versetzen soll, wenn es nicht benutzt wird. Zuerst wird die Leerlaufzeit auf zwei Sekunden gesetzt:
echo 2 | sudo tee /sys/bus/usb/devices/1-2/power/autosuspend
Die Zeitbeschränkung kann jede ganzzahlige Zahl in Sekunden sein. Wenn man -1
setzt, wird das Gerät nicht in Ruhestellung gebracht. Dann wird die Automatik gesetzt, die das Gerät in Ruhestellung bringt und wieder reaktiviert, wenn Daten übertragen werden:
echo auto | sudo tee /sys/bus/usb/devices/1-2/power/level
Andere Optionen in dieser Datei sind on
und suspend
:
on
lässt das Gerät immer an.
suspend
versetzt das Gerät in Ruhestellung, bis man ein echo
"on" oder "auto" an die Datei absetzt.
(Das ist eine Vereinfachung, da der Wert in der power/wakeup-Datei es dem Gerät ermöglichen kann, von selbst aufzuwachen.)
Um bei jedem Systemstart die gleichen Einstellung zu haben, trägt man die Befehle noch in /etc/rc.local vor exit 0
ein:
echo auto > /sys/bus/usb/devices/1-2/power/level echo 2 > /sys/bus/usb/devices/1-2/power/autosuspend
Die Maus lässt sich erst mit einem Tastendruck reaktivieren, weshalb ein höherer Zeitwert empfehlenswert ist, z.B. die Zeit bis zum Start des Bildschirmschoners.
Normalerweise wird die Frequenz der CPU automatisch angepasst (ondemand
). Im Leerlauf sollte immer die niedrigst mögliche Frequenz angezeigt werden. Weitere Informationen zum Prozessortakt gibt es hier: Prozessortaktung
Je nach Ubuntu-Version werden nicht alle Stromspar-Funktionen genutzt, die diese CPUs anbieten. Dies ist beispielsweise bei Ubuntu 11.10 der Fall. Ab Ubuntu 12.04 wird RC6 automatisch aktiviert.
Mit einem speziellen Kernel-Patch ist es wie beim verbreiteten NHC ("Notebook Hardware Control") unter Windows möglich, die Prozessorspannung individuell einzustellen. Der Prozessor wird also mit weniger Spannung betrieben als das eigentlich vom Hersteller vorgesehen ist. Das Einsparpotential dadurch ist vor allem unter Last sehr groß. Dies macht sich dadurch insbesondere bei rechenintensiven Prozessen (kompilieren, spielen, ...) durch weniger Lüftergeräusche und eine niedrigere Temperatur positiv bemerkbar.
Dieser Abschnitt gilt nur für AMD-Grafikkarten, die Powerplay unterstützen (z.B. Radeon 9600/9700 sowie die neuere X-Serie). Eine weitere Ausnahme sind Rechner mit Hybrid-Grafikkarten. Für Notebooks mit einer Intel- oder Nvidia-Grafikkarte müssen in der Regel keine speziellen Stromsparmaßnahmen unternommen werden.
Der freie radeon-Treiber, welcher eine Vielzahl von AMD-Grafikkarten und Chipsätzen unterstützt, besitzt (je nach Version) eigene Energiesparoptionen:
ClockGating
ForceLowPowerMode
DynamicPM
Die Funktionsweise der einzelnen Optionen sowie deren Aktivierung sind im Artikel zum radeon-Treiber genau beschrieben.
Um den Energiesparmodus der AMD-Grafikkarten zu aktivieren (max. 3 Watt Einsparung), benötigt man den fglrx-Treiber. Der radeon-Treiber des Xorg-Projekts hat zwar eine Funktion zum dynamischen Takten der GPU - diese funktioniert allerdings nicht mit aktuelleren Karten (X-Serie).
Den fglrx-Treiber kann man auf zwei Arten installieren. Die beiden Möglichkeiten werden unter Grafikkarten/AMD/fglrx genauer beschrieben. Empfehlenswert ist der Weg über die offiziellen Paketquellen, da diese Treiber meist am zuverlässigsten (auch im Hinblick auf die Schlafmodi) funktionieren.
Nach erfolgreicher Treiber-Installation kann man mit folgendem Befehl [1] seine Taktfrequenzen anzeigen lassen:
aticonfig --lsp
core/mem [flags] --------------- 1: 105/122 MHz [low voltage] 2: 209/182 MHz [low voltage] 3: 392/250 MHz [overdrive, default state]
In die einzelnen Modi kann man leicht mit folgendem Befehl [1] wechseln:
aticonfig --set-powerstate=1
Wenn diese Fehlermeldung:
Using /etc/X11/xorg.conf Warning: Option 'PowerState' won't affect future sessions. aticonfig: Writing to '/etc/X11/xorg.conf' failed. Permission denied.
erscheint, kann bzw. muss man sie getrost ignorieren. Selbst wenn man mit dem Befehl sudo
arbeitet und die Zeile Option "PowerState" "1"
geschrieben wird (siehe obigen Ausdruck der xorg.conf), ignoriert sie der XServer.
Aus obigem Grund muss man die Powerstates immer per Hand einstellen oder den Befehl bei jedem Systemstart ausführen lassen. Da aticonfig
jedoch nur innerhalb des X-Servers gestartet werden kann, ist der gewohnte Autostart über rc.local nicht möglich. Es gibt aber genügend andere Möglichkeiten dafür:
Den Befehl in den Autostart des Nutzers eintragen.
Die Datei /etc/gdm/Init/Default (GNOME) bzw. /etc/kde3/kdm/Xsetup (KDE) am Ende vor exit 0
um eine Zeile mit dem Befehl ergänzen.
Der Stromspar-Modus des fglrx-Treibers funktioniert nur im Singlehead-Betrieb. Dieser Modus wird in der Datei /etc/X11/xorg.conf festgelegt, wo jeweils nur eine Device Section
, Screen Section
und Monitor Section
existieren darf. Ein Dual-Head Setup kann auch ungewollt entstanden sein, wenn man den fglrx-Treiber mit der automatischen Konfiguration mittels sudo aticonfig --initial
installiert hat.
Um trotz Stromspar-Modus einen zweiten Monitor benutzen zu können, sollte man diesen in der Device-Section
definieren. Ein Beispiel dazu findet im Ubuntu-Forum: ATI Big-Desktop HOWTO .
Mit Hilfe des Werkzeugs rovclock ist es möglich, den Takt einer alten Radeon-Grafikkarte bzw. des Chipsatzs (bei Notebooks) zu beeinflussen. Dabei kann sowohl der Takt der GPU als auch der Grafikspeicher-Takt verändert werden. Eigentlich ein Overcklocking-Tool (zur Steigerung der Grafikleistung mittels Übertakten), kann mit rovclock der GPU- und Speicher-Takt auch verringert werden (vergleichbar mit dem Setzen eines low-voltage-Powerstate bei Verwendung des fglrx-Treibers). Somit kann Energie eingespart werden. Die Funktionsweise ist im Artikel Overclocking erklärt.
Auch bei nVidia-Grafikkarten ist es möglich, die Taktrate "von außen" zu beeinflussen. Dies kann ebenfalls mit Hilfe eines Overclocking-Tools erfolgen. Anstatt die Leistung zu steigern (Übertakten), wird der GPU-Takt einfach verringert (Untertakten). Somit wird sowohl der Energieverbrauch als auch die Wärmeentwicklung reduziert.
Der Artikel Overclocking beschreibt zwei entsprechende Werkzeuge mit grafischer Benutzeroberfläche.
Vermutlich funktioniert einer der Stromsparmechanismen nicht. Es sollte deshalb bei jedem Schritt genau überprüft werden, ob die erwarteten Verbrauchs-Einsparungen (laut Wiki-Richtwerten) erzielt wurden. So kann der "Übeltäter" leichter gefunden werden.
Dieses Problem wurde leider schon recht häufig berichtet. Aktuellere AMD-Treiber nach der alternativen Treiber-Installation haben da nur selten Abhilfe geschafft.
Ja, der mitgelieferte Treiber funktioniert problemlos.
Diese Liste ggf. ergänzen (bitte in alphabetischer Reihenfolge).
Acer Aspire 1691(WLMi) / 5652(WLMi)
Acer Travelmate 4002 LMI / 2451 WLMi
Asus A7vc (allerdings: BAT0 anstatt BAT1 verwenden)
Dell Inspiron 6400 / XPS-M1530
Fujitsu Siemens Amilo Pa 2510 / Esprimo Mobile v5505
HP Compaq nx6325 / nx8220 / nx9420
HP G62 b55SG
HP Pavilion 8318ea / ze2366EA (ze2000-Serie)
IBM ThinkPad T40 / T41 / T42 / T43 / X41 / X61
Samsung X20 1600 II/III
Samsung X20 1730 II
Samsung X20 1860 Student-Book Edition
Toshiba Satellite A100 - 773
Clevo W230SS (besonders gut mit PowerTOP)
PowerTOP - Energieverbrauch analysieren
pm-utils - Einrichtung der Schlafmodi
TLP – Linux Stromsparen - umfangreiches Werkzeug für die Kommandozeile
Diese Revision wurde am 18. Februar 2017 14:57 von aasche erstellt.