Linux auf Mobilen Geräten
Betreibt man Linux auf mobilen Geräten wie etwa LinuxHardware/NoteBooks, ergeben sich einige besondere Anforderungen, um z.B. möglichst lange Akkulaufzeiten zu erhalten.
Inhaltsverzeichnis
Stromsparmöglichkeiten
Festplatte
Hardware
siehe hdparm, Power Mangement.
Software
Ein wichtiger Parameter beim Mounten von Dateisystemen, um (unnötige) Schreibzugriffe auf die Platte zu vermeiden, ist "noatime". Dieser schaltet das ändern der access-Timestamps ab, welche normalerweise bei jedem Lesezugriff auf eine Datei auf die aktuelle Uhrzeit gesetzt werden.
Der zweite Schritt ist die Identifikation aller Prozesse, die in kurzen abständen Zugriffe auf Dateien verursachen. Leider bietet der Kernel dafür keine große Unterstützung (naja, es gibt schon z.B. fam, welcher Prozesse benachrichtigt, wenn sich Dateien ändern - aber kennt dafür jemand ein Tool, welches dann mitprotokolliert, welcher Prozess auf welche Dateien zugreift?). Mit find -xdev -maxdepth 5 -mmin -2 kann man sich aber alle Dateien ausgeben lassen, welche in den letzten 2 Minuten modifiziert wurden und von diesen dann auf die Verursacher Rückschlüsse ziehen.
Hier eine Liste der üblichen Verdächtigen sowie was gegen die Zugriffe unternommen werden kann:
CUPS: generiert alle 5 Minuten ein neues Zertifikat und hinterlegt dies unter /etc/cups/certs; Dies kann per RootCertDuration 0 in der /etc/cups/cupsd.conf abgeschaltet werden.
Postfix: sehr viele Zugriffe, sehr viele auch ungepuffert (was natürlich auch seine Richtigkeit hat), keine Ahnung, wie man den ruhig bekommt (wenn keine EMails zuzustellen sind)
Galeon: aktualisiert ständig bookmarks und status-files; sollte beendet werden, wenn nicht benötigt.
cron: startet periodisch Prozesse (naja, ist schließlich sein Job)
SysLog: schreibt die logs auf Platte - manche Logs werden dabei direkt ungepuffert durchgeschrieben (was z.T. auch sinnvoll ist)
Mit dem noflushd kann man die Platte automatisch nach einiger Zeit herunterfahren lassen. Dies funktioniert leider nicht mehr bei den heute üblichen jurnaling filesystemen wie ext3 oder ReiserFS.
Zudem kann man einige Kernelparameter verändern um die Anzahl der Schreibzugriffe zu verringern, z.B. mit folgenden Eintrag in der /etc/sysctl.conf (Kernel 2.4.18):
vm.bdflush = 60 500 0 0 1000 300000 80 50 0
(hier bin ich aber noch auf der Suche nach besseren Werten, wobei die obigen schonmal ganz gut sind; Erklärung dazu kommt auch noch irgendwann -- MichaelReinsch 2002-07-01 02:05:54)
Entbehrliche Stromfresser-Devices
- externe optische Mäuse (bei Creative-Mäusen leuchtet im Betrieb außer der Diode auch noch das Gehäuse)
- Firewire-Geräte ohne eigenes Netzteil
- Firewiregeräte mit externem Netzteil sind im mobilen Betrieb sinnlos
IRDA
Die meisten Notebooks haben ein IrDA-Device. Hat man den IrDA-Daemon laufen, werden ständig discovery-Nachrichten versendet um zu prüfen, ob ein anderes IrDA-Gerät in der Nähe liegt. Praktisch aber verbraucht halt auch Strom. Daher am besten abschalten, wenn es nicht benötigt wird.
Hintergrundbeleuchtung
OffeneFrage: weiß jemand, ob es einen allgemeinen Weg gibt, die Hintergrundbeleuchtung des Displays ebenfalls abzuschalten, wenn man das Display per apm abschaltet? Bei mir bleibt das immer an...
- das würde ich nicht machen, denn die Lebensdauer der Hintergrundbeleuchtung hängt m.W. auch von der Einschalthäufigkeit ab.
- jetzt ist aber die Frage, was die Lebensdauer stärker belastet: Hintergrundbeleuchtung(Dauer) oder Hintergrundbeleuchtung(Einschalthäufigkeit)? Weiß da jemand was?
- Die größte Belastung erfahren die eingesetzten Leuchtröhren immer wenn man sie einschaltet. Das liegt daran daß die "Glühwendel" auskühlen, sofern kein Strom durch sie fliesst um das Gasgemsich zu zünden. Schaltet man nun ein, werden die innerhalb von millisekunden von Raumtemperatur auf Betriebstemperatur gebracht, was diese extrem belastet, bis das Gasgemisch gezündet hat, dann geht die Temperatur wieder etwas zurück. Also ist "brennenlassen" im Sinne von Langlebigkeit die bessere Wahl, nicht umsonst brennen z.b. in Parkhaüsern die Beleuchtung oft immer, auch tagsüber.
- Die für Notebook- und Organizerdisplays zur Beleuchtung eingesetzten streichholzdünnen Kaltkathodenleuchtstoffröhren auf der Breitseite des Displays haben keine Glühwendeln, sondern werden mit einer entsprechend hohen hochfrequenten Hochspannung gezündet und betrieben.
Akkus
Soll ein Akku lange halten, muss er entsprechend behandelt werden. Ein paar Hintergrundinformationen über Akkus waren z.B. im Artikel "Akku-Knigge für mobile Anwender" in c't 10/2002, Seite 208 (leider nicht online) zu finden.
Wesentlich ausführlichere Informationen zu diesem Thema findet man in dem Buch Batteries in a Portable World (englisch), welches man auch online lesen kann. Die Frequently Asked Questions about Rechargeable Batteries sind ein guter Einstiegspunkt. Besonders interessant ist wohl das Kapitel Getting the Most from your Batteries und davon die Seite How to Prolong Lithium-based Batteries.
Sicherungsmöglichkeiten
Portable Geräte sind meist auch einfacher zu klauen; sobald jemand physikalischen Zugriff auf einen Rechner hat, kommt er auch problemlos an die darauf gespeicherten Daten - wenn man nicht einige Vorsichtsmaßnahmen trifft. Dafür gibt es kryptographische Dateisysteme (CryptoLoopDevice, weitere Links?). Die meisten Notebooks haben eine Öffnung für ein sogenanntes Kensington-Schloss (siehe Kensington+lock+laptop). Dabei handelt es sich um ein Stahlseil mit einer Schlaufe am einen Ende. Damit lässt sich das Notebook blitzschnell festketten. Auf Messen, im Zug oder auch in einem offenen Büro lässt sich das Gerät damit gegen schnelle Zugriffe sichern. Das Schloss gibt es auch mit Bewegungsmelder-Alarm.
CPU Speed
wenn powernow_k7 geladen ist (z.B. K7 Kernel), gibt es unter /sys/devices/system/cpu/cpu0/cpufreq folgende Dateien:
affected_cpus |
Nummer der CPUS |
cpuinfo_cur_freq |
aktuelle CPU Frequenz ? |
cpuinfo_max_freq |
maximale CPU Frequenz |
cpuinfo_min_freq |
minimale CPU Frequenz |
scaling_available_frequencies |
Liste der moeglichen CPU Frequenzen |
scaling_available_governors |
Liste der moeglichen Governors ? |
scaling_cur_freq |
aktuelle CPU Frequenz |
scaling_driver |
Treiber, der die CPU steuert |
scaling_governor |
aktueller Governor ? |
scaling_max_freq |
aktuell eingestellte max. Frequenz |
scaling_min_freq |
aktuell eingestellte min. Frequenz |
scaling_setspeed |
aktuell eingestellte Frequenz |
Mit
cat cpuinfo_min_freq > scaling_max_freq
kann man die CPU-Frequenz auf die minimale festnageln.
Mit
cat cpuinfo_min_freq > scaling_setspeed
kann man die CPU-Frequenz auf das Minimum setzen.
Mit
echo 663000 > scaling_setspeed
kann man die CPU-Frequenz auf einen bestimmten Wert setzen, dabei muss der Wert einer der bei
cat scaling_available_frequencies
ausgegebenen sein.
OffeneFrage: Warum ist scaling_setspeed bei mir nicht vorhanden? -- ThomasHochstetter 2006-03-18 21:06:27
Du musst den scaling_governor auf 'userspace' setzen.