Linux Stromsparen: Unterschied zwischen den Versionen
Pibach (Diskussion | Beiträge) (Artikel erstellt) |
Pibach (Diskussion | Beiträge) (Überarbeitung) |
||
Zeile 3: | Zeile 3: | ||
Linux lag bezüglich des Stromverbrauchs lange abgeschlagen hinter Windows. Daher war Linux auf Notebooks nicht besonders verbreitet. Diese Situation hat sich seit stromsparenden Änderungen am Linux-Kernel umgekehrt (insbesondere durch "dynticks" seit Kernel 2.6.21 vom April 2007). Linux ist inzwischen nah am Optimum was Kernel-Interrupts und CPU-States angeht. Im Office-Betrieb hat man >95% C3/C4-Sleep-States. Mehr holt da auch kein Windows raus (leider gibt es kein Tool, um das auf Windows genauer festzustellen). | Linux lag bezüglich des Stromverbrauchs lange abgeschlagen hinter Windows. Daher war Linux auf Notebooks nicht besonders verbreitet. Diese Situation hat sich seit stromsparenden Änderungen am Linux-Kernel umgekehrt (insbesondere durch "dynticks" seit Kernel 2.6.21 vom April 2007). Linux ist inzwischen nah am Optimum was Kernel-Interrupts und CPU-States angeht. Im Office-Betrieb hat man >95% C3/C4-Sleep-States. Mehr holt da auch kein Windows raus (leider gibt es kein Tool, um das auf Windows genauer festzustellen). | ||
Aber die CPU macht nur einen | Aber die CPU macht nur einen kleinen Anteil des Gesamtstromverbrauchs aus. Er hängt auch stark von der spezifischen Hardware und an deren Treibern ab. Für ältere Hardware sind stromsparende Treiber oft nur für Windows vorhanden. Auf einem [[T40]] hat man also schlechte Chancen, den Stromverbrauch mit Linux auf die Verbrauchswerte von Windows zu drücken. Für die neueren Modelle sind die Linux-Treiber aber recht weit. Hier hat Linux in den letzten Monaten enorm aufgeholt. Insbesondere die NVIDIA-Grafikkarten werden gut unterstützt. Auf T60 und T61 bzw. den entsprechenden Modellen der R-Serie mit NVIDIA Karten verbraucht Linux daher etwas weniger als Windows (rund 1-2 Watt, je nach Last). Auch auf den ThinkPads mit Intel-Grafik, beispielsweise den Modellen der x-Serie, liegt der Stromverbreich leicht unterhalb von Windows. Allerdings sind dazu nachfolgende Tipps zu berücksichtigen. | ||
== Linux Stromspar-Tipps == | == Linux Stromspar-Tipps == | ||
* Kernel >=2.6.24 (Standard in Ubuntu Hardy) | * Kernel >=2.6.24 (Standard in Ubuntu Hardy heron) | ||
* Festplatte mit Laptop Mode kontrollieren und zum Stromsparen abschalten (wird bei Office Arbeiten oder | * Festplatte mit Laptop Mode kontrollieren und zum Stromsparen abschalten (wird bei Office-Arbeiten oder zum Web-Surfen nicht benötigt) | ||
* | * PowerTOP starten und Stromspar-Vorschläge ausführen sowie die laufenden Tasks auf Wakeup-Übeltäter durchforsten und ggf. beenden | ||
* Optional: Undervolting | * Optional: Undervolting (bringt Reduzierung des Stromverbrauchs bei höherer Last) | ||
== Stromspar-Änderungen persistent machen == | == Stromspar-Änderungen persistent machen == | ||
Im Startupscript etc/rc.local kann man die Einstellungen persistent machen: | |||
# By default this script does nothing. | # By default this script does nothing. | ||
# Trackpoint sensibler | # Trackpoint sensibler (empfohlen für Trackpoint-Experten) | ||
echo -n 250 > /sys/devices/platform/i8042/serio1/sensitivity | echo -n 250 > /sys/devices/platform/i8042/serio1/sensitivity | ||
# und schneller | # und schneller | ||
echo -n | echo -n 250 > /sys/devices/platform/i8042/serio1/speed | ||
# Wake on Lan aus | # Wake-on-Lan aus | ||
ethtool -s eth0 wol d | ethtool -s eth0 wol d | ||
# PCI Geräte stromsparen | # PCI Geräte stromsparen | ||
for i in /sys/bus/pci/devices/*/power_level ; do echo 5 > $i ; done | for i in /sys/bus/pci/devices/*/power_level ; do echo 5 > $i ; done | ||
# | # Sound stromsparen nach 10 sec | ||
echo 10 > /sys/module/snd_hda_intel/parameters/power_save | echo 10 > /sys/module/snd_hda_intel/parameters/power_save | ||
# xbacklight aktivieren (Workaround für einen Bug in Hardy-Alpha-6) | # xbacklight aktivieren (Workaround für einen Bug in Hardy-Alpha-6) | ||
xrandr --output LVDS --set BACKLIGHT_CONTROL native | # xrandr --output LVDS --set BACKLIGHT_CONTROL native | ||
# USB | # USB autosuspenden | ||
for i in `find /sys -name autosuspend -exec echo {} \;` ; do echo "1" > $i ; done | for i in `find /sys -name autosuspend -exec echo {} \;` ; do echo "1" > $i ; done | ||
# Laptop Mode aktivieren | # Laptop Mode aktivieren | ||
Zeile 41: | Zeile 42: | ||
exit 0 | exit 0 | ||
Unnötige Kernel-Module in die Blacklist /etc/modprobe.d/blacklist (späteres manuelles Nachtladen der Module ist kein Problem): | |||
# module nicht laden wegen Wakeups | # module nicht laden wegen Wakeups | ||
blacklist pcmcia | blacklist pcmcia | ||
Zeile 52: | Zeile 54: | ||
blacklist ieee1394 | blacklist ieee1394 | ||
Einige Module werden | Einige Module werden schon während der initramfs-Phase geladen. Die blacklist auch dort durchsetzen durch: | ||
update-initramfs | update-initramfs |
Version vom 14. April 2008, 20:55 Uhr
Stromverbrauch Windows versus Linux
Linux lag bezüglich des Stromverbrauchs lange abgeschlagen hinter Windows. Daher war Linux auf Notebooks nicht besonders verbreitet. Diese Situation hat sich seit stromsparenden Änderungen am Linux-Kernel umgekehrt (insbesondere durch "dynticks" seit Kernel 2.6.21 vom April 2007). Linux ist inzwischen nah am Optimum was Kernel-Interrupts und CPU-States angeht. Im Office-Betrieb hat man >95% C3/C4-Sleep-States. Mehr holt da auch kein Windows raus (leider gibt es kein Tool, um das auf Windows genauer festzustellen).
Aber die CPU macht nur einen kleinen Anteil des Gesamtstromverbrauchs aus. Er hängt auch stark von der spezifischen Hardware und an deren Treibern ab. Für ältere Hardware sind stromsparende Treiber oft nur für Windows vorhanden. Auf einem T40 hat man also schlechte Chancen, den Stromverbrauch mit Linux auf die Verbrauchswerte von Windows zu drücken. Für die neueren Modelle sind die Linux-Treiber aber recht weit. Hier hat Linux in den letzten Monaten enorm aufgeholt. Insbesondere die NVIDIA-Grafikkarten werden gut unterstützt. Auf T60 und T61 bzw. den entsprechenden Modellen der R-Serie mit NVIDIA Karten verbraucht Linux daher etwas weniger als Windows (rund 1-2 Watt, je nach Last). Auch auf den ThinkPads mit Intel-Grafik, beispielsweise den Modellen der x-Serie, liegt der Stromverbreich leicht unterhalb von Windows. Allerdings sind dazu nachfolgende Tipps zu berücksichtigen.
Linux Stromspar-Tipps
- Kernel >=2.6.24 (Standard in Ubuntu Hardy heron)
- Festplatte mit Laptop Mode kontrollieren und zum Stromsparen abschalten (wird bei Office-Arbeiten oder zum Web-Surfen nicht benötigt)
- PowerTOP starten und Stromspar-Vorschläge ausführen sowie die laufenden Tasks auf Wakeup-Übeltäter durchforsten und ggf. beenden
- Optional: Undervolting (bringt Reduzierung des Stromverbrauchs bei höherer Last)
Stromspar-Änderungen persistent machen
Im Startupscript etc/rc.local kann man die Einstellungen persistent machen:
# By default this script does nothing. # Trackpoint sensibler (empfohlen für Trackpoint-Experten) echo -n 250 > /sys/devices/platform/i8042/serio1/sensitivity # und schneller echo -n 250 > /sys/devices/platform/i8042/serio1/speed # Wake-on-Lan aus ethtool -s eth0 wol d # PCI Geräte stromsparen for i in /sys/bus/pci/devices/*/power_level ; do echo 5 > $i ; done # Sound stromsparen nach 10 sec echo 10 > /sys/module/snd_hda_intel/parameters/power_save # xbacklight aktivieren (Workaround für einen Bug in Hardy-Alpha-6) # xrandr --output LVDS --set BACKLIGHT_CONTROL native # USB autosuspenden for i in `find /sys -name autosuspend -exec echo {} \;` ; do echo "1" > $i ; done # Laptop Mode aktivieren laptop_mode start # governor auf ondemand echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor # Stromsparenden Scheduler aktivieren echo 1 > /sys/devices/system/cpu/sched_mc_power_savings # AHCI Link Power Management. Auskommentiert wenn statt AHCI # "Compatibility Mode" im Bios aktiviert ist echo min_power > /sys/class/scsi_host/host0/link_power_management_policy exit 0
Unnötige Kernel-Module in die Blacklist /etc/modprobe.d/blacklist (späteres manuelles Nachtladen der Module ist kein Problem):
# module nicht laden wegen Wakeups blacklist pcmcia blacklist yenta_socket blacklist ehci_hcd blacklist uhci_hcd blacklist usbcore blacklist ohci1394 blacklist sbp2 blacklist ieee1394
Einige Module werden schon während der initramfs-Phase geladen. Die blacklist auch dort durchsetzen durch:
update-initramfs