CPU-Taktfrequenz ändern
Einführung
Die Reduzierung des Stromverbrauchs ist nicht nur bei Klapprechnern wichtig, sondern auch bei stationären Rechnern, um unnötige CO2-Emissionen zu reduzieren. Sie können Strom sparen, indem Sie nicht benötigte Hardwarekomponenten wie Drahtlosnetzwerk- und „Bluetooth“-Adapter ausschalten, die Hintergrundbeleuchtung des Bildschirms reduzieren, nicht benötigte Magnetplatten anhalten und die CPU-Taktfrequenz regeln.
Die CPU-Taktfrequenzskalierung ist im Linux-Kern Version 2.6 integriert und verfügbar; da Slitaz jedoch sehr klein und leichtgewichtig ist, müssen Sie einige zusätzliche Pakete installieren und die Einrichtung selbst vornehmen.
Installation
Installieren Sie linux-cpufreq
, linux-acpi
, cpufrequtils
und optional powertop
(zur einfachen Steuerung). cpufrequtils
und powertop
müssen von der „cooking“-Version
von SliTaz übernommen werden, da cpufrequtils
in SliTaz 3.0 nicht existiert und
powertop
fehlerhaft ist.
# tazpkg get-install linux-cpufreq # tazpkg get-install linux-acpi # wget http://mirror.slitaz.org/packages/cooking/cpufrequtils-008.tazpkg # wget http://mirror.slitaz.org/packages/cooking/powertop-1.13.tazpkg # tazpkg install cpufrequtils-008.tazpkg # tazpkg install powertop-1.13.tazpkg
CPU-Treiber
Sie müssen den richtigen Treiber des Linux-Kerns für Ihre CPU laden. Wenn Sie nicht wissen, welche CPU sich in Ihrem Rechner befindet, können Sie dort nachsehen:
$ cat /proc/cpuinfo
Je nach CPU laden Sie einen der folgenden Module; wenn Sie den falschen Treiber wählen, erhalten Sie eine Fehlermeldung, der Modul wird nicht geladen und nichts geht schief.
Generischer ACPI P-States-basierter Treiber:
# modprobe acpi-cpufreq
AMD mobile K6-2/3+ PowerNow!
# modprobe powernow-k6
AMD mobile Athlon PowerNow!
# powernow-k7
AMD Cool&Quiet PowerNow! (bis zu AMD “K10” CPU):
# modprobe powernow-k8
Intel SpeedStep unter Verwendung der SMI-BIOS-Schnittstelle:
# modprobe speedstep-smi
Intel SpeedStep auf ICH-basierten Chipsätzen:
# speedstep-ich
Intel Enhanced SpeedStep (veraltet - verwenden Sie acpi-cpufreq):
# modprobe speedstep-centrino
Intel Pentium4/Xeon - In der Dokumentation zum Linux-Kern heißt es:
„Dies fügt den CPUFreq-Treiber für Intel Pentium 4 / XEON-Prozessoren hinzu.
Wenn er aktiviert ist, senkt er die CPU-Temperatur durch Überspringen von Takten.
Dieser Treiber sollte nur in Ausnahmefällen verwendet werden, wenn sehr wenig Leistung benötigt wird,
da er starke Verlangsamungen und merkliche Latenzen verursacht.
Normalerweise sollte stattdessen Speedstep verwendet werden“.
- p4-clockmod unterstützt nur Leistungs- und Stromsparregler
(aufgrund der langen Übergangslatenz des Moduls selbst):
# modprobe p4-clockmod
NatSemi Geode GX / Cyrix MediaGXm:
# modprobe gx-suspmod
Transmeta Crusoe / Efficeon LongRun:
# modprobe longrun
VIA Cyrix Longhaul:
# /sbin/modprobe longhaul
nForce2 FSB changing cpufreq-Treiber:
# modprobe cpufreq-nforce2
Erweiterter PowerSaver-Treiber für VIA C7-CPUs:
# modprobe e_powersaver
Skalierende Regler
Regler kann man sich als vorkonfigurierte Leistungsschemata für die CPU vorstellen.
Verfügbare Regler:
cpufreq_performance (Standard in SliTaz)
Der Regler performance
ist im Linux-Kern enthalten und lässt die CPU(s)
mit maximaler Taktfrequenz laufen.
cpufreq_ondemand
Der Regler ondemand
ist auch im Linux-Kern enthalten, er erhöht oder verringert dynamisch
die Taktfrequenz der CPU(s), basierend auf der Systembelastung
cpufreq_conservative
Ähnlich wie ondemand
, aber konservativer (sanftere Änderungen der Taktfrequenz)
cpufreq_powersave
Lässt die CPU mit minimaler Taktfrequenz laufen.
cpufreq_userspace
Manuell konfigurierte benutzerdefinierte Taktfrequenzen
Die eingebauten Regler dürfen nicht geladen werden, die anderen müssen
mit modprobe
geladen werden. Sie können so viele Regler laden, wie Sie möchten,
es ist aber immer nur einer aktiv.
Damit stellt sich die Frage, welcher Regler am meisten Energie spart.
Der Regler powersave
spart nur dann Strom, wenn Sie 3D-Spiele spielen.
Ansonsten spart er keinen Strom, da sich die Bearbeitungszeiten des Anwendungsprozesses
mit der niedrigeren Taktfrequenz verlängern und das System nicht in einen
tiefen C-Zustand übergeht. Die größten Energieeinsparungen treten aber im Leerlauf in
tieferen C-Zuständen auf. Dieser Regler wird Ihnen im Grunde niemals zusätzliche
Leistung bieten. Verwenden Sie ihn nicht! Daher bin ich nicht glücklich darüber,
dass dieser Regler in SliTaz standardmäßig verwendet wird.
Sie haben also noch die Wahl zwischen on demand
und conservative
,
was eine Frage des Geschmacks ist.
Der Regler userspace
wird für Anwendungen von Drittanbietern benötigt, wie cpupowerd
http://www.themaxer.com/index.php?option=com_content&view=article&id=86:undervolting-your-cpu&catid=41:nas&Itemid=81
was leider in SliTaz nicht funktioniert, weil in der Konfiguration des Linux-Kerns CONFIG_X86_MSR
nicht gesetzt ist.
Wählen Sie einen Regler
Jetzt ist alles vorbereitet, aber noch kein Regler aktiviert, also noch keine Energieeinsparung.
Verwenden Sie das Kommando cpufreq-set
, um einen der Regler zu aktivieren:
# cpufreq-set -g on-demand
Es gibt CPUs, bei denen jeder Prozessorkern mit unterschiedlichen Einstellungen laufen kann!
Beispiel für eine „Dual-Core-CPU“:
# cpufreq-set -c 0 -c 1 -g conservative
Qualitätsbericht | |
---|---|
Qualität | |
Überprüfung | für neuere SliTaz-Versionen als 3.0 erforderlich |
Priorität | mittel |
Probleme | ungültiger Verweis |
Verbesserungsvorschläge |