Cpupower: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Winky (Diskussion | Beiträge)
K wikif.
Zeile 1: Zeile 1:
{{Unvollständig}}
{{Unvollständig}}
== Was ist Cpufrequtils? ==
Bei 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.
Bei 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 ==
== Installation ==
Das gesamte Paket kann aus dem Extra-Repositorium heraus mittels des folgenden Befehls installiert werden.
Das gesamte Paket kann aus dem Extra-Repositorium heraus mittels des folgenden Befehls installiert werden.
  pacman -Sy cpufrequtils
  pacman -Sy cpufrequtils


== Konfiguration ==
== Konfiguration ==
Nun können wir uns an die eigentliche Konfiguration heranwagen. '''Es ist zu beachten, dass diese Werte exemplarisch anhand des Prozessors des Autors sind, und die getroffenen Einstellungen nicht 1:1 auf das eigene System übertragen werden können!'''
Nun können wir uns an die eigentliche Konfiguration heranwagen. '''Es ist zu beachten, dass diese Werte exemplarisch anhand des Prozessors des Autors sind, und die getroffenen Einstellungen nicht 1:1 auf das eigene System übertragen werden können!'''


=== Analyse der zulässigen Frequenzen ===
=== Analyse der zulässigen Frequenzen ===
Bevor überhaupt erst korrekte Einstellungen möglich sind, muss zuerst ermittelt werden, welche Frequenzen für den Prozessor zulässig sind. Dies funktioniert bei modernen Prozessoren in der Regel mit dem acpi-cpufreq Treiber tadellos. Laden wir nun den Treiber entweder manuell als Superuser mit dem Befehl


Bevor überhaupt erst korrekte Einstellungen möglich sind, muss zuerst ermittelt werden, welche Frequenzen für den Prozessor zulässig sind. Dies funktioniert bei modernen Prozessoren in der Regel mit dem acpi-cpufreq Treiber tadellos. Laden wir nun den Treiber entweder manuell als Superuser mit dem Befehl
  modprobe acpi-cpufreq
  modprobe acpi-cpufreq
oder lassen ihn beim Start automatisch durch Hinzufügen des Befehls acpi-cpufreq zur Modulreihe der rc.conf mitstarten.
oder lassen ihn beim Start automatisch durch Hinzufügen des Befehls acpi-cpufreq zur Modulreihe der rc.conf mitstarten.
<pre>Hinzufügen zur /etc/rc.conf


MODULES=([...] snd-timer snd snd-hda-intel soundcore acpi-cpufreq)</pre>
Zusätzlich muss der Daemon in das DAEMONS-Array in der Datei /etc/rc.conf hinzugefügt werden
 
MODULES=([] acpi-cpufreq)


Nun lassen sich mit folgendem Befehl detailierte Informationen, darunter auch die zulässigen Frequenzen, zum eigenen Prozessor abrufen:
Nun lassen sich mit folgendem Befehl detailierte Informationen, darunter auch die zulässigen Frequenzen, zum eigenen Prozessor abrufen:
  cpufreq-info
  cpufreq-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:
<pre>
 
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
  Treiber: acpi-cpufreq
  Folgende CPUs können nur gleichzeitig ihre Frequenz variieren: 0 1
  Folgende CPUs können nur gleichzeitig ihre Frequenz variieren: 0 1
  Hardwarebedingte Grenzen der Taktfrequenz: 800 MHz - 2.00 GHz
  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 Taktfrequenzen: 2.00 GHz, 2.00 GHz, 1.60 GHz, 1.20 GHz, 800 MHz
  mögliche Regler: performance
  mögliche Regler: performance
  momentane Taktik: die Frequenz soll innerhalb 800 MHz und 2.00 GHz.
  momentane Taktik: die Frequenz soll innerhalb 800 MHz und 2.00 GHz.
                    liegen. Der Regler "performance" kann frei entscheiden,
                    liegen. Der Regler "performance" kann frei entscheiden,
                    welche Taktfrequenz innerhalb dieser Grenze verwendet wird.
                    welche Taktfrequenz innerhalb dieser Grenze verwendet wird.
  momentane Taktfrequenz ist 2.00 GHz  (verifiziert durch Nachfrage bei der Hardware).
  momentane Taktfrequenz ist 2.00 GHz  (verifiziert durch Nachfrage bei der Hardware).
analysiere CPU 1:
analysiere CPU 1:
  Treiber: acpi-cpufreq
  Treiber: acpi-cpufreq
  Folgende CPUs können nur gleichzeitig ihre Frequenz variieren: 0 1
  Folgende CPUs können nur gleichzeitig ihre Frequenz variieren: 0 1
  Hardwarebedingte Grenzen der Taktfrequenz: 800 MHz - 2.00 GHz
  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 Taktfrequenzen: 2.00 GHz, 2.00 GHz, 1.60 GHz, 1.20 GHz, 800 MHz
  mögliche Regler: performance
  mögliche Regler: performance
  momentane Taktik: die Frequenz soll innerhalb 800 MHz und 2.00 GHz.
  momentane Taktik: die Frequenz soll innerhalb 800 MHz und 2.00 GHz.
                    liegen. Der Regler "performance" kann frei entscheiden,
                    liegen. Der Regler "performance" kann frei entscheiden,
                    welche Taktfrequenz innerhalb dieser Grenze verwendet wird.
                    welche Taktfrequenz innerhalb dieser Grenze verwendet wird.
  momentane Taktfrequenz ist 2.00 GHz  (verifiziert durch Nachfrage bei der Hardware).
  momentane Taktfrequenz ist 2.00 GHz  (verifiziert durch Nachfrage bei der Hardware).
</pre>


=== Einrichtung von cpufreq auf AMD-Systemen ===
=== Einrichtung von cpufreq auf AMD-Systemen ===
'''Das folgende Doing führt auch bei Intel-CPUs zum Erfolg, soweit man <tt>powernow-k8</tt> ignoriert!'''<br />
'''Das folgende Doing führt auch bei Intel-CPUs zum Erfolg, soweit man <tt>powernow-k8</tt> ignoriert!'''<br />
'''Bei Sockel AM2/AM2+ Mainboards darf "AM2 Boost" im BIOS nicht aktiviert sein, sonst funktioniert C&Q nicht richtig!'''<br /><br />
'''Bei Sockel AM2/AM2+ Mainboards darf "AM2 Boost" im BIOS nicht aktiviert sein, sonst funktioniert C&Q nicht richtig!'''


Bei AMD-basierenden Systemen ist cpufreq einfach einzurichten. Folgende Module werden dann nach erfolgter Einrichtung geladen: powernow-k8, cpufreq-ondemand
Bei AMD-basierenden Systemen ist cpufreq einfach einzurichten. Folgende Module werden dann nach erfolgter Einrichtung geladen: powernow-k8, cpufreq-ondemand
<pre>modprobe powernow-k8</pre>
 
<pre>modprobe cpufreq-ondemand</pre>
modprobe powernow-k8
modprobe cpufreq-ondemand
 
Danach diese beiden Module in die rc.conf im MODULES-Array eintragen:
Danach diese beiden Module in die rc.conf im MODULES-Array eintragen:
<pre>MODULES=(... powernow-k8 cpufreq-ondemand)</pre>
 
MODULES=([…] powernow-k8 cpufreq-ondemand)
 
Nun muss mittels cpufreq-info heraus gefunden werden, welche Taktraten der Prozessor minimum und maximum haben kann. Beispiel für einen AMD ATHLON64 X2 4000+
Nun muss mittels cpufreq-info heraus gefunden werden, welche Taktraten der Prozessor minimum und maximum haben kann. Beispiel für einen AMD ATHLON64 X2 4000+
<pre>
 
christian@doppelherz $ cpufreq-info  
$ cpufreq-info  
cpufrequtils 005: cpufreq-info (C) Dominik Brodowski 2004-2006
cpufrequtils 005: cpufreq-info (C) Dominik Brodowski 2004-2006
Bitte melden Sie Fehler an cpufreq@vger.kernel.org.
Bitte melden Sie Fehler an cpufreq@vger.kernel.org.
analysiere CPU 0:
analysiere CPU 0:
  Treiber: powernow-k8
  Treiber: powernow-k8
  Folgende CPUs können nur gleichzeitig ihre Frequenz variieren: 0 1
  Folgende CPUs können nur gleichzeitig ihre Frequenz variieren: 0 1
  Hardwarebedingte Grenzen der Taktfrequenz: 1000 MHz - 2.10 GHz
  Hardwarebedingte Grenzen der Taktfrequenz: 1000 MHz - 2.10 GHz
  mögliche Taktfrequenzen: 2.10 GHz, 2.00 GHz, 1.80 GHz, 1000 MHz
  mögliche Taktfrequenzen: 2.10 GHz, 2.00 GHz, 1.80 GHz, 1000 MHz
  mögliche Regler: ondemand, performance
  mögliche Regler: ondemand, performance
  momentane Taktik: die Frequenz soll innerhalb 1000 MHz und 2.10 GHz.
  momentane Taktik: die Frequenz soll innerhalb 1000 MHz und 2.10 GHz.
                    liegen. Der Regler "ondemand" kann frei entscheiden,
                    liegen. Der Regler "ondemand" kann frei entscheiden,
                    welche Taktfrequenz innerhalb dieser Grenze verwendet wird.
                    welche Taktfrequenz innerhalb dieser Grenze verwendet wird.
  momentane Taktfrequenz ist 1000 MHz.
  momentane Taktfrequenz ist 1000 MHz.
analysiere CPU 1:
analysiere CPU 1:
  Treiber: powernow-k8
  Treiber: powernow-k8
  Folgende CPUs können nur gleichzeitig ihre Frequenz variieren: 0 1
  Folgende CPUs können nur gleichzeitig ihre Frequenz variieren: 0 1
  Hardwarebedingte Grenzen der Taktfrequenz: 1000 MHz - 2.10 GHz
  Hardwarebedingte Grenzen der Taktfrequenz: 1000 MHz - 2.10 GHz
  mögliche Taktfrequenzen: 2.10 GHz, 2.00 GHz, 1.80 GHz, 1000 MHz
  mögliche Taktfrequenzen: 2.10 GHz, 2.00 GHz, 1.80 GHz, 1000 MHz
  mögliche Regler: ondemand, performance
  mögliche Regler: ondemand, performance
  momentane Taktik: die Frequenz soll innerhalb 1000 MHz und 2.10 GHz.
  momentane Taktik: die Frequenz soll innerhalb 1000 MHz und 2.10 GHz.
                    liegen. Der Regler "ondemand" kann frei entscheiden,
                    liegen. Der Regler "ondemand" kann frei entscheiden,
                    welche Taktfrequenz innerhalb dieser Grenze verwendet wird.
                    welche Taktfrequenz innerhalb dieser Grenze verwendet wird.
  momentane Taktfrequenz ist 1000 MHz.
  momentane Taktfrequenz ist 1000 MHz.
</pre>


Nun muss die /etc/conf.d/cpufreq entsprechend angepasst werden. Anhand des oben genannten AMD-Prozessor sieht diese wie folgt aus:
Nun muss die /etc/conf.d/cpufreq entsprechend angepasst werden. Anhand des oben genannten AMD-Prozessor sieht diese wie folgt aus:
<pre>
#configuration for cpufreq control


# valid governors:
#configuration for cpufreq control
#  ondemand, performance, powersave,
#  conservative, userspace
# valid governors:
governor="ondemand"
#  ondemand, performance, powersave,
#  conservative, userspace
governor="ondemand"
# valid suffixes: Hz, kHz (default), MHz, GHz, THz
min_freq="1.0GHz"
max_freq="2.1GHz"
 
Das wars mit der Einrichtung. Nun den Dienst mittels <tt>/etc/rc.d/cpufreq restart</tt> (als root) neustarten und <tt>cpufreq</tt> in das DAEMONS-Array der <tt>/etc/rc.conf</tt> oder in die <tt>/etc/rc.local</tt> eintragen und zum Beispiel per ...


# valid suffixes: Hz, kHz (default), MHz, GHz, THz
min_freq="1.0GHz"
max_freq="2.1GHz"
</pre>
Das wars mit der Einrichtung. Nun den Dienst mittels <tt>sudo /etc/rc.d/cpufreq restart</tt> durchstarten und <tt>cpufreq</tt> in das DAEMONS-Array der <tt>/etc/rc.conf</tt> oder in die <tt>/etc/rc.local</tt> eintragen und zum Beispiel per ...
  cat /proc/cpuinfo
  cat /proc/cpuinfo
...oder dem Befehl...
...oder dem Befehl...
  cpufreq-info
  cpufreq-info
...die Taktung überprüfen.
...die Taktung überprüfen.


== Bekannte Probleme ==
== Bekannte Probleme ==
'''Eventuell hier noch bekannte Probleme mit eintragen'''
'''Eventuell hier noch bekannte Probleme mit eintragen'''
* Einige AM2/AM2+ Boards
* Einige AM2/AM2+ Boards
** Deaktivierung des AM2-Boost.
** Deaktivierung des AM2-Boost.

Version vom 30. Juni 2009, 11:46 Uhr

Dieser Artikel oder Artikelabschnitt ist noch nicht vollständig!


Bei 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 gesamte Paket kann aus dem Extra-Repositorium heraus mittels des folgenden Befehls installiert werden.

pacman -Sy cpufrequtils

Konfiguration

Nun können wir uns an die eigentliche Konfiguration heranwagen. Es ist zu beachten, dass diese Werte exemplarisch anhand des Prozessors des Autors sind, und die getroffenen Einstellungen nicht 1:1 auf das eigene System übertragen werden können!

Analyse der zulässigen Frequenzen

Bevor überhaupt erst korrekte Einstellungen möglich sind, muss zuerst ermittelt werden, welche Frequenzen für den Prozessor zulässig sind. Dies funktioniert bei modernen Prozessoren in der Regel mit dem acpi-cpufreq Treiber tadellos. Laden wir nun den Treiber entweder manuell als Superuser mit dem Befehl

modprobe acpi-cpufreq

oder lassen ihn beim Start automatisch durch Hinzufügen des Befehls acpi-cpufreq zur Modulreihe der rc.conf mitstarten.

Zusätzlich muss der Daemon in das DAEMONS-Array in der Datei /etc/rc.conf hinzugefügt werden

MODULES=([…] acpi-cpufreq)

Nun lassen sich mit folgendem Befehl detailierte Informationen, darunter auch die zulässigen Frequenzen, zum eigenen Prozessor abrufen:

cpufreq-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).

Einrichtung von cpufreq auf AMD-Systemen

Das folgende Doing führt auch bei Intel-CPUs zum Erfolg, soweit man powernow-k8 ignoriert!
Bei Sockel AM2/AM2+ Mainboards darf "AM2 Boost" im BIOS nicht aktiviert sein, sonst funktioniert C&Q nicht richtig!

Bei AMD-basierenden Systemen ist cpufreq einfach einzurichten. Folgende Module werden dann nach erfolgter Einrichtung geladen: powernow-k8, cpufreq-ondemand

modprobe powernow-k8
modprobe cpufreq-ondemand

Danach diese beiden Module in die rc.conf im MODULES-Array eintragen:

MODULES=([…] powernow-k8 cpufreq-ondemand)

Nun muss mittels cpufreq-info heraus gefunden werden, welche Taktraten der Prozessor minimum und maximum haben kann. Beispiel für einen AMD ATHLON64 X2 4000+

$ cpufreq-info 
cpufrequtils 005: cpufreq-info (C) Dominik Brodowski 2004-2006
Bitte melden Sie Fehler an cpufreq@vger.kernel.org.
analysiere CPU 0:
  Treiber: powernow-k8
  Folgende CPUs können nur gleichzeitig ihre Frequenz variieren: 0 1
  Hardwarebedingte Grenzen der Taktfrequenz: 1000 MHz - 2.10 GHz
  mögliche Taktfrequenzen: 2.10 GHz, 2.00 GHz, 1.80 GHz, 1000 MHz
  mögliche Regler: ondemand, performance
  momentane Taktik: die Frequenz soll innerhalb 1000 MHz und 2.10 GHz.
                    liegen. Der Regler "ondemand" kann frei entscheiden,
                    welche Taktfrequenz innerhalb dieser Grenze verwendet wird.
  momentane Taktfrequenz ist 1000 MHz.
analysiere CPU 1:
  Treiber: powernow-k8
  Folgende CPUs können nur gleichzeitig ihre Frequenz variieren: 0 1
  Hardwarebedingte Grenzen der Taktfrequenz: 1000 MHz - 2.10 GHz
  mögliche Taktfrequenzen: 2.10 GHz, 2.00 GHz, 1.80 GHz, 1000 MHz
  mögliche Regler: ondemand, performance
  momentane Taktik: die Frequenz soll innerhalb 1000 MHz und 2.10 GHz.
                    liegen. Der Regler "ondemand" kann frei entscheiden,
                    welche Taktfrequenz innerhalb dieser Grenze verwendet wird.
  momentane Taktfrequenz ist 1000 MHz.

Nun muss die /etc/conf.d/cpufreq entsprechend angepasst werden. Anhand des oben genannten AMD-Prozessor sieht diese wie folgt aus:

#configuration for cpufreq control

# valid governors:
#  ondemand, performance, powersave,
#  conservative, userspace
governor="ondemand"

# valid suffixes: Hz, kHz (default), MHz, GHz, THz
min_freq="1.0GHz"
max_freq="2.1GHz"

Das wars mit der Einrichtung. Nun den Dienst mittels /etc/rc.d/cpufreq restart (als root) neustarten und cpufreq in das DAEMONS-Array der /etc/rc.conf oder in die /etc/rc.local eintragen und zum Beispiel per ...

cat /proc/cpuinfo

...oder dem Befehl...

cpufreq-info

...die Taktung überprüfen.

Bekannte Probleme

Eventuell hier noch bekannte Probleme mit eintragen

  • Einige AM2/AM2+ Boards
    • Deaktivierung des AM2-Boost.
      • ASRock ALiveNF5-eSATA2+ R3.0 ( NVIDIA Chipsatz )
    • C&Q muss im BIOS aktiviert sein.
  • VMWare Server 2.0
    • Falsche Angabe des Taktes ( bsp.: 500 GHz )
    • Träges Verhalten bei aktiven C&Q