![]() |
|
|
|||||||
| Registrieren | Hilfe | Benutzerliste | Interessengemeinschaften | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
|
|
Festplatten (Stromsparen)Aus Linux-Forum WikiDieser Artikel befindet sich noch im Aufbau und ist somit unvollständig oder nicht detailiert genug.
Artikel von --Jean-Michel 03. Sep. 2009 (CEST) Festplatten sind neben dem Prozessor und der Grafikkarte wohl einer der größten Stromfresser in einem System. Glücklicherweise kann man dem etwas entgegenwirken, ausserdem bringen die Hersteller mittlerweile stromsparendere Festplatten auf den Markt, oftmals mit den Buzzwords "Green IT" oder "Green" im Namen.
Allgemeiner HinweiseEinstellungen mit hdparm, sowie echo im /sys oder /proc Bereich sind nach einem Neustart nicht automatisch wieder gesetzt. Wie man das automatisieren könnte steht jeweils im entsprechenden Abschnitt. Ein vollständiges Init-Skript, sowie weitere Konfigurationsbeispiele könnt Ihr hier begutachten. Nutzung von RAMJe öfter auf die Festplatte zugegriffen wird und je mehr die Festplatte arbeiten muss, desto mehr Strom wird verbraucht. Das Ziel ist also die Festplatte zu entlasten in dem man beispielsweise viel mit Caching (zwischenspreichern von Daten z.B. im RAM) arbeitet. Das virtuelle tmpfs DateisystemAutomatisiert nach Neustart: Eintrag in /etc/fstab In diesem Beispiel werden alle temporären Dateien in /tmp gespeichert welches sich auf /dev/md0 und somit auf der bzw. den Festplatten befindet. Bei jeder Anwendung die temporär Dateien in /tmp speichert haben wir nun also Festplattenzugriffe: wdp@yulivee ~ $ df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/md0 ext4 292G 217G 75G 75% / /dev/sdb1 ext3 92M 15M 72M 17% /boot Abhilfe schafft hier möglicherweise das tmpfs: wdp@yulivee ~ $ df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/md0 ext4 292G 217G 75G 75% / /dev/sdb1 ext3 92M 15M 72M 17% /boot tmpfs tmpfs 768M 8.0K 768M 1% /tmp tmpfs tmpfs 4.0M 0 4.0M 0% /var/lock tmpfs tmpfs 4.0M 60K 4.0M 2% /var/run tmpfs ist ein Dateisystem welches die Daten im Pagecache des Kernels (dieser liegt im RAM) speichert, statt direkt auf der Festplatte. Wenn man sich die Mühe machen will, kann man mit einem Script alle lokalen Cache Verzeichnisse (Den Firefox Webcache in .cache, etc) ebenfalls auf tmpfs legen. Die /etc/fstab dazu sieht wie folgt aus: tmpfs /tmp tmpfs defaults,size=768m,nr_inodes=64m 0 0 tmpfs /var/lock tmpfs size=4m 0 0 tmpfs /var/run tmpfs size=4m 0 0 Da /tmp, /var/lock und /var/run keine Daten enthalten die über einen Reboot gesichert werden müssten, kann man diese also ruhig im RAM ablegen. /var/tmp allerdings ist ein Beispiel für ein Verzeichnis dessen Inhalt gemäß Linux Standard Base permanent sein muss, somit fällt diese Option hier weg. Hardware spezifisches Tuning durch SoftwareDas Programm hdparmAutomatisiert nach Neustart: Eigenes Init-Skript hdparm wird meistens genutzt um die Performance von Festplatten zu testen. Das Programm ist aber eigentlich dafür da, Einstellungen an Festplatten und Controllern vorzunehmen. Dabei möchte ich hier nur die interessantesten Möglichkeiten vorstellen. Ein wichtiger Hinweis: Die falsche Verwendung von hdparm kann zu Festplattenschäden führen! Bitte benutzt hdparm daher nur wenn Ihr euch über die Funktionsweise im Klaren seit und schlagt die einzelnen Optionen in der Manpage nach! Die Benutzung geschieht auf eigene Gefahr. Auch funktionieren nicht alle Parameter bei allen Geräten. Beispielsweise ist von -m bei SATA Geräten abzuraten. -B funktioniert nur auf Platten die APM haben. Einige Optionen:
Zu beachten ist hier auch, diese Einstellungen werden nach einem Reboot wieder zum Defaultwert gesetzt. Effektiv benötigt man also ein Init Script hierfür. SATA Aggressive Link Power ManagementAutomatisiert nach Neustart: InitScript Viele SATA Festplatten nutzen die AHCI Spezifikationen und haben dadurch ein Feature namens ALPM (Aggressive Link Power Management). Durch dieses Feature wird der Link zur Festplatte in einen low-power-state gelegt wodurch man bis zu 1,5 Watt sparen kann. Effektiv wird dieser low-power-state immer dann kommen wenn die Festplatte nichts zu tun hat. Die Unterstützung für dieses Feature befindet sich derzeit noch nicht in Linux, es ist jedoch möglich den Kernel zu patchen. Ob es in eurer Distribution ist, könnt ihr mit folgendem Befehl herrausfinden: cat /sys/class/scsi_host/host0/link_power_management_policy Liefert dies eine Nachricht das die Datei nicht gefunden wurde, hat euer Kernel kein ALPM. Wenn vorhanden, kann man 3 Modes übergeben:
Innerhalb von /sys/class/scsi_host befinden sich mehrere Hosts. host0, host1, manchmal bis host4 oder mehr. Für jeden Host will man wahrscheinlich ALPM aktivieren. Den Modus setzen kann man mit echo: echo "min_power" > /sys/class/scsi_host/host0/link_power_management_policy SonstigesVM Writeback TimeAutomatisiert nach Neustart: /etc/sysctl.conf oder eigenes Init-Script Der Linux Kernel versucht, I/O zusammenzufassen und "in einem Rutsch" zu schreiben. Dabei schreibt er per Default alle 5 Sekunden. Dies äussert sich im wahrscheinlichen Verlust einer gerade frisch erstellten Datei und anschliessendem erzwungenen Neustart: touch test.txt reboot -fn Die Default Einstellung von 5 Sekunden mag zwar relativ sicher sein, ist aber eigentlich recht kurz. Wenn man seinen Festplatten etwas "mehr Zeit" gönnen möchte (und das sollte man), sollte man diesen Wert erhöhen. Empfohlen wird dabei 15 Sekunden (statt 5): echo 1500 > /proc/sys/vm/dirty_writeback_centisecs Laptop Mode (KERNEL)Automatisiert nach Neustart: /etc/sysctl.conf oder eigenem Init-Script Den Laptop Mode zur Beeinflussung des I/O-Subsystems gibt es seit einigen Jahren im Linux Kernel. Ist er aktiviert, wird der Kernel versuchen mit I/O "smart" umzugehen und den Festplatten soviel Zeit wie möglich im low-power-state zu geben. Natürlich spart dies Energie ein. Im Prinzip ist es ein Variante des "VM Writeback Tipp" mit eingebauter Logik. Aktivieren ist relativ einfach: echo 5 > /proc/sys/vm/laptop_mode Den aktuellen Status kann man sich, wie bei fast allem innerhalb von /proc, via cat ausgeben lassen: cat /proc/sys/vm/laptop_mode Weiterhin gilt hier zu sagen: Der Laptop Mode ist wirklich _nur_ das Kernel Feature (Also nur das setzen von vm.laptop_mode) manche Distributoren bieten auch ein Paket namens "laptop-mode" an (siehe nächstes Kapitel). Laptop Mode (Paket/InitScript)Einige Distribution, so beispielsweise Lunar Linux, bieten die "Laptop Mode Tools" als Paket an. Dieses Paket vereint meistens die Optimierungen die man ansonsten manuell tätigen müsste. Es kann und sollte daher bei Laptops bzw. Notebooks und Netbooks genutzt werden, kann aber auch in einem Desktop System sinnvoll sein. Die Laptop-Mode-Tools reagieren auch auf ACPI Ereignisse, was das ganze Paket recht interessant macht. Hier ein Beispiel: # # Disable all data loss sensitive features when the battery level (in % of the # battery capacity) reaches this value # MINIMUM_BATTERY_CHARGE_PERCENT=3
Filesystem atimeAutomatisiert nach Neustart: Eintrag in /etc/fstab Dieser Tipp wird oft und überall gegeben. Daher fasse ich mich kurz: Ein Linux speichert Zeiten des letzten Zugriffs auf eine Datei (Access Timestamp - atime). Natürlich werden dabei laufend kleine Datenmengen (die Zeitstempel) auf die Festplatte geschrieben. Die atime ist für normale Anwendungszwecke recht uninteressant, daher kann man dieses Verhalten mit Mountoptionen beeinflussen:
/dev/md0 / ext4 defaults,relatime 0 0 |