Der Weg zu einem Stromsparwunder

Um den Strombedarf eines Mobilen Computers (Note-/Netbook) zu reduzieren hat man ja generell nur die Möglichkeit die Hintergrundprozesse zu reduzieren, um weniger Aktivität auf der CPU zu haben. Doch man kann noch viel viel mehr tun, um die Laufzeit seines mobilen Begleiters zu verlängern.

Ich bin derzeit dabei an meinem Notebook den Strombedarf meines Notebooks rigoros zu reduzieren. Angefangen habe ich bei 1h 55Min. Akkulaufzeit, der Akku verfügt über 58Wh Gesamtkapazität.

Ich will nun versuchen auf alle Facetten einzugehen, die ein möglichst effektives Stromsparen anhand meines Notebooks zu ermöglichen.
Aber Achtung: PCI-Express und SATA Controller haben zusätzliche Stromsparfunktionen, auf die ich aber mangels Existenz in meiner Hardware hier nicht weiter eingehen werde.

Bislang habe ich mit Hilfe von powertopProzesse identifiziert, die die CPU unnötig wecken(<C4). Dadurch bin ich nun bei aktiviertem WLAN bei 14-15 Wake-Ups pro Sekunde, bei deaktiviertem bei ~5Wake-Ups/Sek.

Auf dem Weg zum leisen,kühlen und stromsparenden Notebook, habe ich die /lib/hdparm/hdparm-functions dahingehend geändert, dass die HDD im AC- und im Akkubetrieb mit einem APM(Advanced Power Management) Wert von 192 laufen.
Um die Zeilen zu finden, kann man nach „-B254“, „-B128“ oder einfach „-B“ suchen. 192 nutze ich in meinem Fall, da meine HDD (eine Seagate Momentus 5400) den „193 Load_Cycle_Count“ extrem schnell erhöht (3-4 pro Minute).
Wer sich für die Hintergründe interessiert, kann gerne mittels google danach suchen.
Nach 25Sekunden Leerlaufzeit lasse ich die HDD in den Standby-Modus gehen. Das kann man umsetzen durch den Befehl hdparm -S5 /dev/sda, oder wie ich mit in die hdparm-functions vor dem zuvor genannten „-B“. Der Vorteil dabei ist, dass man den dort genutzten Wechsel zwischen Akku und Netzteilversorgung auch gleich nutzen kann um bei Netzspeisung die Festplattenabschaltung zu deaktivieren.

Um die Festplattenabschaltung zu komplett zu machen, habe ich unter /etc/pm/config.d/ eine Datei endend auf „.conf“ angelegt und folgendes eingefügt:

JOURNAL_COMMIT_TIME_BAT=600
JOURNAL_COMMIT_TIME_AC=20
LAPTOP_MODE=600
LAPTOP_DIRTY_RATIO=40
LAPTOP_DIRTY_BG_RATIO=80
LAPTOP_DIRTY_WRITEBACK=600000
DRIVE_READAHEAD_AC=256
DRIVE_READAHEAD_BAT=6144

Dadurch wird versucht die Schreibzyklen auf die Festplatte um bis zu 10Minuten hinaus zu zögern.
Nachteil: Alle Änderungen werden in den Speicher geschrieben, wodurch man natürlich auch einen Datenverlust von bis zu 10Minuten in Kauf nimmt. Jedesmal wenn man von der Festplatte lies springt die Festplatte natürlich auch an.

Als nächstes habe ich die Wärmeleitpaste der CPU ausgetauscht. Das Dell Notebook von mir hat seine CPU unter der Tastatur sitzen. Dementsprechend einfach kommt man daran. Der Kühler hatte ein Alupapier unter der alten Wärmeleitpaste. Das habe ich ebenfalls entfernt und dahinter den Kühlkörper von dieser alten Schicht Wärmeleitpaste ebenfalls gereinigt. Danach habe ich das Alupapier mittels Wärmeleitpaste wieder am Kühlkörper befestigt, anschliessend auf die CPU ebenfalls einen Klecks getan und das ganze wieder zusammen gebaut.

Geholfen hat es auch, die Temperatur im Leerlauf ging um 6°C (auf 31°C) zurück, die Temperatur bei Vollauslastung liegt nun bei 58°C anstelle von 70°C. Wenn man bedenkt, dass der Kühler vom Mainboard nur 3 Geschwindigkeitsstufen hat und dieser bei 50°C auf 1 und bei 70°C auf Stufe 2 läuft (0 = aus), ist von der Geräuschkulisse der Unterschied bereits jetzt immens.

Mittlerweile hält der Akku im Idle Betrieb 2h 35Min.

Im nächsten Beitrag werde ich auf die Zentrale Möglichkeit der Temperatursenkung, Geräuschreduzierung und Stromverbrauchreduzierung, genannt „CPU Undervolting“ eingehen.
Soviel sei schon gesagt, der Akku wird bei mir derzeit mit 4h 10Min Laufzeit angezeigt.

Alles neu macht der Februar?!

Ja Februar. Seit dem 2. Kalendermonat diesen Jahres hat mein Blog ein neues Design. Die Feinanpassungen habe ich dafür schon längst gemacht, die Muse darüber zu schreiben hatte ich allerdings nicht. Ich wurde aber bereits auf meine Beweggründe angesprochen und reiche daher diesen Changelog nun nach.

Hauptproblem des alten Designs war die Größe.
Auch wenn man es nicht sofort mitbekommen hat, der 1. Aufruf der Seite hat insgesamt 23 Bilder, 6 Stylesheets und 8 Javascripte geladen. Insgesamt wurden knapp 800 Kilobyte übertragen. Auch wenn die Javascripte/Stylesheets minimalisiert, komprimiert und in eine Anfrage umgewandelt und ausgeliefert wurden, war die Größe aus meiner Sicht auf Dauer ein No-Go. Zum Vergleich, die Seite von T-Online hat eine ähnliche Größe.

Ein weiteres Manko war die doch eher dunkle Farbgebung. Auch wenn 4 verschiedene Designs integriert waren und gerade das mit den Wolken heller war, ist es schwer Transparenzeffekte ohne dunklere Farben umzusetzen. Ähnlich ging es mir mit dem HTML Teil. Um dieselben Effekte im Internet Explorer zu verwirklichen, musste ich an einigen Stellen zudem absichtlich schlampig arbeiten. Da der IE nur bedingt den HTML und CSS Standards folgt, braucht man für Parameter wie border-radius Alternativen. Um den Effekt zu simulieren habe ich mehrere DIV’s verschachteln müssen, die natürlich durch den mehrfachen Einsatz den Quelltext aufgebläht haben.

Das jetzige Design ist da um einiges einfacher gestrickt. Auch in diesem Design wird die jQuery Bibliothek genutzt, sogar intensiver als zuvor. Mit 46 Kilobyte Gesamtgröße ist sie aber um einiges kleiner und schneller. 4 Bilder, 1 Stylesheet und 1 Javascript Anfragen werden beim ersten Aufruf benötigt um die Seite komplett zu laden. Webpagetest bewertet die Seite nun sogar mit 100/100 Punkten (das Alte bekam 92 Punkte).