Linux Projektvorstellung: TLP – Linux Stromsparen

Linux Betriebssystem

linrunner

Ubuntuversteher
Themenstarter
Registriert
22 Juni 2007
Beiträge
13.276
Nachdem im Forum öfters nachgefragt wird, wie man Linux die Feinheiten des Stromsparens beibringt, habe ich mich vor einiger Zeit entschlossen, meine Skriptsammlung in eine allgemein benutzbare Form zu bringen. Das Ergebnis möchte ich Euch an dieser Stelle vorstellen.

Dokumentation ist auf der offiziellen Website https://linrunner.de/tlp/ zu finden (die Infos in unserem Wiki werden von mir nicht mehr gepflegt und sind veraltet).

Fragen und Probleme einfach hier im Thread posten.

Für die erste Analyse benötige ich bitte stets den kompletten Output von

Code:
sudo tlp-stat
Anmerkung: ich fordere oft in der weiteren Analyse Teilausgaben an - das sollt ihr jedoch nicht selbstständig tun! Immer zuerst die vollständige Ausgabe.

Bitte auch die FAQ beachten!

Rückmeldungen der Art "alles funktioniert" sind natürlich auch gern gesehen ... :cool:
 
Zuletzt bearbeitet:
tlp funktioniert bei allen laptops. lediglich die akkuladeschwellen sind thinkpad-spezifisch und funktionieren daher bei anderen fabrikaten nicht
 
@chiefrock: siehe Anleitung und FAQ :D

Es sind explizit keine ThinkPad-Abhängigkeiten außer den Akkufunktionen einprogrammiert. Ich bin natürlich immer dankbar für Erfahrungsberichte samt der Ausgabe von
Code:
sudo tlp-stat

Was mich bei einem HP interessieren würde, ist die Funktion zur Abschaltung eines opt. Laufwerks im Wechselschacht sowie die Funktionen des Radio Device Wizard für An- und Abdocken.
 
Zur Zeit nutze ich granola unter Ubuntu 11.10. Vertragen sich beide Programme oder sollte ich granola löschen? Was haltet ihr generell von granola?
 
Granola und TLP beißen sich nicht, solange Du nicht die Einstellungen für die Prozessortaktsteuerung in TLP benutzt.

Granola ist Closed Source deren Wirkungsweise (Prozessortaktsteuerung) betont nebulös bechrieben ist. Ich halte ich es schlicht für "Placeboware". Der serienmäßige Ondemand Governor des Linux Kernels dürfte genauso gut sein.
 
Vielen Dank linrunner für den Hinweis, ich dachte ich bleibe mit dem Wechsel zu linux von placeboware verschont aber dem ist wohl nicht so :mad:
 
Nach dem Deinstallieren von Granola musst Du wahrscheinlich noch dafür sorgen, dass der Ondemand Governor wieder zieht:
Code:
sudo update-rc.d ondemand defaults
Quelle
 
Ja, das stimmt...ich hatte granola auch drauf, und es wieder runtergeschmissen. Es ist halt einfach ne Blackbox, bei der man weder weiß, was eine der ohnehin spärlichen Einstellungen bewirkt, noch, ob das Teil überhaupt läuft. powertop hat auch immer 100% Last angezeigt, so ganz rund ists sicher nicht programmiert.
Verbrauchsreduktion war da, aber nicht umwerfend. Und eben diese nicht restlose Entfernbarkeit ohne manuelles Nachhelfen - ziemliches No-Go.

Momentan hab ich Jupiter drauf, das man über ein PPA bekommt. Damit kannst du die CPU schön auf die unterste Taktstufe festnageln, was wirklich was bringt. Aller Daemonkram im Hintergrund kann auch ein paar µs länger laufen, dafür muss man nicht die CPU ständig kurzzeitig auf Maximaltakt treiben (und nebenbei C4-Fiepen produzieren - ist damit jetzt komplett weg :eek:). Läuft mein T400 nur so nebenher, während ich an nem anderen Rechner was mache, sind spielend 11W drin. Inklusive WLAN und passabler Helligkeit dran arbeiten braucht meist 12-13W, ohne sinds eher 14W. Ist mit dem 9C im Idealfall eine satte Stunde mehr...
 
Den Takt abhängig von der Stromquelle senken, kannst Du seit 0.3.6 auch mit TLP. Es bringt zwar nichts ;), aber einige User wollten es halt haben ...
 
Aber nicht per GUI, oder? :cool: (kann ja sein, dass man für ein paar Minuten volle Möhre braucht - dann einfach auf Performance drehen).

Beim Verbrauch muss ich dir deutlich widersprechen: Das bringt sehr wohl was. Momentan läuft recht viel, u.a. einiges an gleichmäßigem Traffic über WLAN. "Idle" mit Powersave auf möglichst 800 MHz sind 14,0W, mit On Demand 14,3W. Klick ich munter zwischen den Programmen hin und her, meldet der Akku im ersten Fall zwischen 15,0 und 17,7W, im zweiten 16,2 bis 20,0 Watt. Gleiche Tätigkeit, unmerkliche Leistungsunterschiede (vielleicht im Zusammenspiel mit ner SSD anders, werd ich noch erfahren). Alles jeweils ohne PHC-Kernel, weils da grade keinen fertigen gibt und ich noch keine Zeit zum Selberbauen hatte. Damit wird der Vorsprung eindampfen, aber sicher nicht gegen Null gehen.
Wenns ein Linuxtool zum standardisierten Testen der Laufzeit gibt, probier ich das auch gerne mal über einen kompletten Entladezyklus für dich aus...
 
linrunners tp-kernel aus dem ppa thinkpad-extras hat phc an bord. mit dem kernel musst du lediglich noch die spannungen ausloten
 
Den Takt abhängig von der Stromquelle senken, kannst Du seit 0.3.6 auch mit TLP. Es bringt zwar nichts ;), aber einige User wollten es halt haben ...


Sicher?
Ich habe nun keine Messwerte zum Belegen, allerdings möchte ich mal auf P=1/2 * alpha * U^2 * f * C verweisen. Klar gilt das nur für die dynamische Verlustleistung. Du stellst vermutlich die Leakage gegenüber, welche ja im "nicht rechnenden Zustand" dank Power Gating quasi 0 ist. Dennoch kann ich mir vorstellen, dass ein _leichtes_ Absenken der maximalen Taktfrequenz im Batteriebetrieb zumindest keinen negativen Effekt haben sollte. Wenn ich dann noch an die Prozesse denke, die sich gerne 100% CPU gönnen, ohne sie zu brauchen, habe ich damit definitiv gespart. Für meinen i5-540m habe ich aus dem Bauchgefühl mal 1,733 GHz als Maximaltakt festgelegt.

Edit: Wie aus der Formel ersichtlich bringt das absenken natürlich nur etwas, wenn dabei auch die Spannung verringert wird. Dies ist aber bei aktuellen Prozessoren automatisch der Fall.
 
hehe, ja und nein!

deine Formel ist richtig, der (momentane) Leistungsverbrauch ist bei höher Taktfrequenz größer als bei niedriger... ABER: du musst auch schauen, wie lange es dauert, bestimmte Aufgaben zu lösen. Es bringt dir nix, wenn der Prozessor zwar kaum was verbraucht, dafür aber ewig an einer Aufgabe rödelt. Im Extremfall würde dein GHz Prozessor nur mit 1 Hz, also einem Takt pro Sekunde arbeiten, dann wäre er mit dem Booten über Jahre beschäftigt und würde dabei sicher mehr Strom verbrauchen als wenn ers in ein paar Minuten machen würde...

Das soll nicht heißen, das runtertakten keine Alternative ist, aber ich habe irgendwo gelesen das der ondemand Governor da am bessten geeignet sei... Er taktet runter wenn möglich, die Latenzzeiten sind ok und die Verarbeitungszeiten sind super... Powersave würde hier zu Lags führen und am Ende genauso viel strom verbrauchen...

Aprospos: ich halte Taktgrenzen allgemein für nicht so sinnvoll, die besagten Governors bieten mMn mehr Potential... sie passen sich unter bestimmtem Maßgaben dynamisch an die aktuelle Belastungssituation an. Wenn du den Powersave Governor bevorzugst, dann geht auch der in den höchsten Taktzustand deiner CPU, nur halt langsamer als andere Governor.. Das gibt dir aber die Chance sämtliche Aufgaben in annehmbarer Zeit zu lösen und nicht bei jedem Compilevorgang Stunden warten zu müssen...
 
Gibt es Empfehlungen für best. Parameter für tlp beim Einsatz einer SSD + ubuntu12.04 mit tlp? Habe hierzu leider nichts im Wiki gelesen.
 
du könntest den i/o-scheduler für die ssd auf "deadline" setzen. dann sieht die betreffende zeile so aus:
Code:
DISK_IOSCHED="deadline cfq"
alles andere hat mit ssds nichts zu tun.
 
den hab ich schon auf "noop" stehen, ist ja gesondert im wikiartikel zu SSDs (wiki.ubuntuusers.de) und im der tlp config kams mir wieder unter die augen.

danke
 
Habe hierzu leider nichts im Wiki gelesen.
Wo genau im Wiki konntest Du nichts zu SSDs lesen?

Ich benutze bei meinen SSDs die Defaulteinstellungen :). Der cfq-IO-Scheduler passt sich automatisch an, wenn er ein nicht rotierendes Medium vorfindet. Wiki hab ich mal angepaßt, die Info dort war veraltet.
 
Zuletzt bearbeitet:
Die einzelnen I/O-Scheduler sind wie folgt definiert:

  • CFQ: Der Standard-Algorithmus der meisten Linux-Distributionen ist auf konventionelle Festplatten (HDD) zugeschnitten. CFQ versucht, die zur Verfügung stehende I/O-Bandbreite gleichmäßig zwischen allen Prozessen aufzuteilen.
  • NOOP: Der noop-Algorithmus versucht, so wenig Prozessorleistung wie möglich zu verbrauchen, fungiert nach dem FIFO-Prinzip und erwartet, dass der jeweilige Hardware-Conroller die einzelnen Requests bearbeitet.
  • Deadline: Dieser Scheduling-Algorithmus nutzt eine Warteschlange, die I/O-Requests nach Priorität sortiert, um so jedem Request in einer garantierten Zeit abarbeiten zu können.

deswegen den noop, hört sich für mich am stromsparendsten an ;)
 
Wie findet der das denn raus? Also bei USB-Sticks funktionierts jedenfalls nicht, da legt der P***** ohne manuelle Einstellungen immer noch den gesamten Rechner lahm, wenn größere Transfers anstehen...
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben