Cpupower: Unterschied zwischen den Versionen
Winky (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Dirk (Diskussion | Beiträge) K Verschiebung community -> extra |
||
(37 dazwischenliegende Versionen von 23 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{ | {{SEITENTITEL:cpupower}}{{righttoc}} | ||
Bei cpupower (ehemals cpufrequtils) handelt es sich um eine Sammlung kleiner, nützlicher Werkzeuge welche die Skalierung von Frequenz und Spannung moderner Prozessoren möglich macht, um so eine geringere Abwärme und einen geringeren Stromverbrauch hervorzurufen. Dahinter steht ein Prinzip, welches die Frequenz des Prozessors abhängig von der momentan benötigten Leistung entweder erhöht oder absenkt. Diese Technik ist insbesondere für Notebookbesitzer interessant, um so eine längere und gleichzeitig schonendere Akkunutzung zu gewährleisten. | |||
{{Installation|repo=extra|paket=cpupower}} | |||
== | == Konfiguration == | ||
{{Hinweis|Alle Werte sind als Beispiel anzusehen und können nicht zwangsläufig auf das eigene System übernommen werden.}} | |||
=== Kernelmodule === | |||
Die Grundlage für ''cpupower'' bilden Kernelmodule, die Informationen über die möglichen Frequenzen bereitstellen und den Prozessor bei bedarf herunter- oder hochtakten. | |||
Zuerst muss das Modul ''acpi-cpufreq'' geladen werden, dass die Informationen über den Prozessor bereitstellt. Für ältere Intel Prozessoren werden noch zusätzlich die Module ''p4-clockmod'' oder ''speedstep-centrino'', für AMD Prozessoren die Module ''powernow-k6'', ''powernow-k7'' oder ''powernow-k8'' benötigt. | |||
{{Hinweis|Das Modul ''powernow-k8'' unterstützt auch die neueren AMD Prozessoren, wie Phenom usw..}} | |||
Nun müssen die nötigen Module geladen werden, bei Intel/VIA beispielsweise: | |||
modprobe acpi-cpufreq | |||
Bei VIA C7 | |||
modprobe e_powersaver | |||
Bei einem AMD Prozessor wird alternativ ''powernow-k8'' geladen: | |||
modprobe powernow-k8 | |||
Damit die Module beim Systemstart automatisch geladen werden, müssen Dateien in {{ic|/etc/modules-load.d/}} angelegt werden: | |||
{{hc|vim /etc/modules-load.d/acpi-cpufreq.conf| | |||
acpi-cpufreq}} | |||
Alternativ auch wieder für einen AMD Prozessor: | |||
{{hc|vim /etc/modules-load.d/powernow-k8.conf| | |||
powernow-k8}} | |||
Nun lassen sich mit folgendem Befehl detaillierte Informationen, darunter auch die zulässigen Frequenzen, zum eigenen Prozessor abrufen: | |||
cpupower frequency-info | |||
Diese sieht beispielsweise für einen Core 2 Duo T7250 derart aus: | Diese sieht beispielsweise für einen Core 2 Duo T7250 derart aus: | ||
cpufrequtils 004: cpufreq-info (C) Dominik Brodowski 2004-2006 | |||
cpufrequtils 004: cpufreq-info (C) Dominik Brodowski 2004-2006 | Bitte melden Sie Fehler an cpufreq@lists.linux.org.uk. | ||
Bitte melden Sie Fehler an cpufreq@lists.linux.org.uk. | analysiere CPU 0: | ||
analysiere CPU 0: | Treiber: acpi-cpufreq | ||
Folgende CPUs können nur gleichzeitig ihre Frequenz variieren: 0 1 | |||
Hardwarebedingte Grenzen der Taktfrequenz: 800 MHz - 2.00 GHz | |||
mögliche Taktfrequenzen: 2.00 GHz, 2.00 GHz, 1.60 GHz, 1.20 GHz, 800 MHz | |||
mögliche Regler: performance | |||
momentane Taktik: die Frequenz soll innerhalb 800 MHz und 2.00 GHz. | |||
liegen. Der Regler "performance" kann frei entscheiden, | |||
welche Taktfrequenz innerhalb dieser Grenze verwendet wird. | |||
momentane Taktfrequenz ist 2.00 GHz (verifiziert durch Nachfrage bei der Hardware). | |||
analysiere CPU 1: | |||
analysiere CPU 1: | Treiber: acpi-cpufreq | ||
Folgende CPUs können nur gleichzeitig ihre Frequenz variieren: 0 1 | |||
Hardwarebedingte Grenzen der Taktfrequenz: 800 MHz - 2.00 GHz | |||
mögliche Taktfrequenzen: 2.00 GHz, 2.00 GHz, 1.60 GHz, 1.20 GHz, 800 MHz | |||
mögliche Regler: performance | |||
momentane Taktik: die Frequenz soll innerhalb 800 MHz und 2.00 GHz. | |||
liegen. Der Regler "performance" kann frei entscheiden, | |||
welche Taktfrequenz innerhalb dieser Grenze verwendet wird. | |||
momentane Taktfrequenz ist 2.00 GHz (verifiziert durch Nachfrage bei der Hardware). | |||
=== | === Prozessor Governors === | ||
Governors können als vordefinierte Schemas angesehen werden, unter welchen Umständen der Prozessor herunter- und hochgetaktet wird. Sie sind Kernelmodule, die, wenn gewünscht, auch alle geladen werden können. Die Governors <code>cpufreq_ondemand</code> und <code>cpufreq_performance</code> sind bereits in den Kernel eingebaut und brauchen deshalb nicht extra als Module geladen zu werden. | |||
Folgende Governors sind verfügbar: | |||
{|border="2" | |||
| performance (Voreinstellung) || fest in den Kernel einkompiliert und stellt den Prozessor auf die höchste Frequenz. | |||
|- | |||
| cpufreq_ondemand (empfohlen) || taktet den Prozessor je nach Systemlast herauf und herunter, ist bereits in den Kernel kompiliert. | |||
|- | |||
| cpufreq_conservative || ähnlich wie ondemand, aber Änderungen der Taktrate sind seltener | |||
|- | |||
| cpufreq_powersave || stellt den Prozessor auf die niedrigste Frequenz | |||
|} | |||
Nun müssen die gewünschten Kernelmodule geladen werden: | |||
modprobe cpufreq_conservative | |||
Damit sie auch beim Systemstart geladen werden, müssen auch für sie Dateien in {{ic|/etc/modules-load.d}} angelegt werden: | |||
{{hc|vim /etc/modules-load.d/cpufreq_conservative.conf| | |||
cpufreq_conservative}} | |||
Welcher ''Governor'' dann die Kontrolle übernimmt, kann mit | |||
cpupower frequency-set -g conservative | |||
eingestellt werden. Diese Einstellung geht nach einem Neustart verloren, daher kann sie mit dem cpufreq Daemon beim Systemstart gesetzt werden. | |||
# valid suffixes: Hz, kHz (default), MHz, GHz, THz | === cpupower Daemon === | ||
min_freq="1.0GHz" | Nun muss die /etc/default/cpupower angepasst werden. Darin können der ''Governor'' und die minimale und höchste Prozessorfrequenz eingestellt werden. | ||
max_freq="2.1GHz" | {{Hinweis|Die Angaben zu den Frequenzen können auskommentiert werden, da sie automatisch erkannt werden sollten.}} | ||
#configuration for cpufreq control | |||
# valid governors: | |||
# ondemand, performance, powersave, | |||
# conservative, userspace | |||
governor="conservative" | |||
# valid suffixes: Hz, kHz (default), MHz, GHz, THz | |||
#min_freq="1.0GHz" | |||
#max_freq="2.1GHz" | |||
Nun kann der Daemon gestartet werden: | |||
systemctl start cpupower | |||
Damit der Daemon beim Systemstart geladen wird, muss dies Systemd mitgeteilt werden: | |||
systemctl enable cpupower | |||
Anschließend kann die Prozessorfrequenz mit | |||
cat /proc/cpuinfo | cat /proc/cpuinfo | ||
oder | |||
cpupower frequency-info | |||
. | bzw. in Echtzeit mit | ||
watch grep \"cpu MHz\" /proc/cpuinfo | |||
überprüft werden. | |||
== Bekannte Probleme == | == Bekannte Probleme == | ||
'''Eventuell hier noch bekannte Probleme mit eintragen''' | '''Eventuell hier noch bekannte Probleme mit eintragen:''' | ||
Einige AM2/AM2+ Boards: | |||
* Deaktivierung des AM2-Boost. | |||
* C&Q muss im BIOS aktiviert sein. | |||
* VMWare Server 2.0 | |||
Intel Pentium Prozessoren: | |||
*Bugs im BIOS verhindern Speedstep-Funktionalität | |||
VMWare Server 2.0: | |||
* Falsche Angabe des Taktes ( Bsp.: 500 GHz ) | |||
* Träges Verhalten bei aktiven C&Q | |||
== Weblinks == | |||
* [http://www.kernel.org/pub/linux/utils/kernel/cpufreq/ cpufrequtils Website] {{sprache|en}} | |||
[[Kategorie:Energieverwaltung]] | [[Kategorie:Energieverwaltung]] | ||
[[en:CPU_frequency_scaling#cpupower]] |
Aktuelle Version vom 24. Mai 2023, 18:21 Uhr
Bei cpupower (ehemals cpufrequtils) handelt es sich um eine Sammlung kleiner, nützlicher Werkzeuge welche die Skalierung von Frequenz und Spannung moderner Prozessoren möglich macht, um so eine geringere Abwärme und einen geringeren Stromverbrauch hervorzurufen. Dahinter steht ein Prinzip, welches die Frequenz des Prozessors abhängig von der momentan benötigten Leistung entweder erhöht oder absenkt. Diese Technik ist insbesondere für Notebookbesitzer interessant, um so eine längere und gleichzeitig schonendere Akkunutzung zu gewährleisten.
Installation
Das Programm ist als
cpupower
in extra
verfügbar, und kann von dort
mittels Pacman
installiert werden.
Konfiguration
Hinweis: Alle Werte sind als Beispiel anzusehen und können nicht zwangsläufig auf das eigene System übernommen werden.
Kernelmodule
Die Grundlage für cpupower bilden Kernelmodule, die Informationen über die möglichen Frequenzen bereitstellen und den Prozessor bei bedarf herunter- oder hochtakten.
Zuerst muss das Modul acpi-cpufreq geladen werden, dass die Informationen über den Prozessor bereitstellt. Für ältere Intel Prozessoren werden noch zusätzlich die Module p4-clockmod oder speedstep-centrino, für AMD Prozessoren die Module powernow-k6, powernow-k7 oder powernow-k8 benötigt.
Hinweis: Das Modul powernow-k8 unterstützt auch die neueren AMD Prozessoren, wie Phenom usw..
Nun müssen die nötigen Module geladen werden, bei Intel/VIA beispielsweise:
modprobe acpi-cpufreq
Bei VIA C7
modprobe e_powersaver
Bei einem AMD Prozessor wird alternativ powernow-k8 geladen:
modprobe powernow-k8
Damit die Module beim Systemstart automatisch geladen werden, müssen Dateien in /etc/modules-load.d/
angelegt werden:
vim /etc/modules-load.d/acpi-cpufreq.conf
acpi-cpufreq
Alternativ auch wieder für einen AMD Prozessor:
vim /etc/modules-load.d/powernow-k8.conf
powernow-k8
Nun lassen sich mit folgendem Befehl detaillierte Informationen, darunter auch die zulässigen Frequenzen, zum eigenen Prozessor abrufen:
cpupower frequency-info
Diese sieht beispielsweise für einen Core 2 Duo T7250 derart aus:
cpufrequtils 004: cpufreq-info (C) Dominik Brodowski 2004-2006 Bitte melden Sie Fehler an cpufreq@lists.linux.org.uk. analysiere CPU 0: Treiber: acpi-cpufreq Folgende CPUs können nur gleichzeitig ihre Frequenz variieren: 0 1 Hardwarebedingte Grenzen der Taktfrequenz: 800 MHz - 2.00 GHz mögliche Taktfrequenzen: 2.00 GHz, 2.00 GHz, 1.60 GHz, 1.20 GHz, 800 MHz mögliche Regler: performance momentane Taktik: die Frequenz soll innerhalb 800 MHz und 2.00 GHz. liegen. Der Regler "performance" kann frei entscheiden, welche Taktfrequenz innerhalb dieser Grenze verwendet wird. momentane Taktfrequenz ist 2.00 GHz (verifiziert durch Nachfrage bei der Hardware). analysiere CPU 1: Treiber: acpi-cpufreq Folgende CPUs können nur gleichzeitig ihre Frequenz variieren: 0 1 Hardwarebedingte Grenzen der Taktfrequenz: 800 MHz - 2.00 GHz mögliche Taktfrequenzen: 2.00 GHz, 2.00 GHz, 1.60 GHz, 1.20 GHz, 800 MHz mögliche Regler: performance momentane Taktik: die Frequenz soll innerhalb 800 MHz und 2.00 GHz. liegen. Der Regler "performance" kann frei entscheiden, welche Taktfrequenz innerhalb dieser Grenze verwendet wird. momentane Taktfrequenz ist 2.00 GHz (verifiziert durch Nachfrage bei der Hardware).
Prozessor Governors
Governors können als vordefinierte Schemas angesehen werden, unter welchen Umständen der Prozessor herunter- und hochgetaktet wird. Sie sind Kernelmodule, die, wenn gewünscht, auch alle geladen werden können. Die Governors cpufreq_ondemand
und cpufreq_performance
sind bereits in den Kernel eingebaut und brauchen deshalb nicht extra als Module geladen zu werden.
Folgende Governors sind verfügbar:
performance (Voreinstellung) | fest in den Kernel einkompiliert und stellt den Prozessor auf die höchste Frequenz. |
cpufreq_ondemand (empfohlen) | taktet den Prozessor je nach Systemlast herauf und herunter, ist bereits in den Kernel kompiliert. |
cpufreq_conservative | ähnlich wie ondemand, aber Änderungen der Taktrate sind seltener |
cpufreq_powersave | stellt den Prozessor auf die niedrigste Frequenz |
Nun müssen die gewünschten Kernelmodule geladen werden:
modprobe cpufreq_conservative
Damit sie auch beim Systemstart geladen werden, müssen auch für sie Dateien in /etc/modules-load.d
angelegt werden:
vim /etc/modules-load.d/cpufreq_conservative.conf
cpufreq_conservative
Welcher Governor dann die Kontrolle übernimmt, kann mit
cpupower frequency-set -g conservative
eingestellt werden. Diese Einstellung geht nach einem Neustart verloren, daher kann sie mit dem cpufreq Daemon beim Systemstart gesetzt werden.
cpupower Daemon
Nun muss die /etc/default/cpupower angepasst werden. Darin können der Governor und die minimale und höchste Prozessorfrequenz eingestellt werden.
Hinweis: Die Angaben zu den Frequenzen können auskommentiert werden, da sie automatisch erkannt werden sollten.
#configuration for cpufreq control # valid governors: # ondemand, performance, powersave, # conservative, userspace governor="conservative" # valid suffixes: Hz, kHz (default), MHz, GHz, THz #min_freq="1.0GHz" #max_freq="2.1GHz"
Nun kann der Daemon gestartet werden:
systemctl start cpupower
Damit der Daemon beim Systemstart geladen wird, muss dies Systemd mitgeteilt werden:
systemctl enable cpupower
Anschließend kann die Prozessorfrequenz mit
cat /proc/cpuinfo
oder
cpupower frequency-info
bzw. in Echtzeit mit
watch grep \"cpu MHz\" /proc/cpuinfo
überprüft werden.
Bekannte Probleme
Eventuell hier noch bekannte Probleme mit eintragen:
Einige AM2/AM2+ Boards:
- Deaktivierung des AM2-Boost.
- C&Q muss im BIOS aktiviert sein.
Intel Pentium Prozessoren:
- Bugs im BIOS verhindern Speedstep-Funktionalität
VMWare Server 2.0:
- Falsche Angabe des Taktes ( Bsp.: 500 GHz )
- Träges Verhalten bei aktiven C&Q