====== 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 Die CPU muss explizit angegeben werden, wenn Sie eine „Dual-Core“- oder „Multi-Core-CPU“ haben. \\ 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 FIXME | |Priorität| mittel | |Probleme| ungültiger Verweis| |Verbesserungsvorschläge| | \\ ----