Cool&Quiet

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Was ist Cool&Quiet

Cool&Quiet ist eine von AMD benutzte Technik, die es erlaubt, die Taktfrequenz und damit auch die Betriebsspannung des Prozessors abhängig von der aktuellen Auslastung zu regeln. Der Vorteil dieser Technik ist, dass bei niedriger Last heruntergetaktet werden kann und damit weniger Strom verbraucht und weniger Abwärme erzeugt und weniger Kühlung benötigt wird. Diese Taktung läuft automatisch, ohne dass der Benutzer eingreifen muss - im Idealfall merkt er nicht mal etwas davon.

Welche Prozessoren werden unterstützt

Cool&Quiet wird von folgenden AMD-Prozessoren unterstützt:

  • Athlon64
  • Sempron 3000+ und höher.
  • weitere?

Außerdem muss das Mainboard Cool&Quiet unterstützen. Bei manchen Boards ist dazu ein BIOS-Update notwendig.

Cool&Quiet in Linux

In Linux ist Cool&Quiet über das Kernel-Feature "cpufreq" in Verbindung mit den Kernel-Modulen "powernow-k8" (Zugriff auf die Hardware) und "cpufreq-ondemand" (Governor, der bestimmt, wann welche Taktfrequenz geschaltet werden soll) implementiert.

Cool&Quiet aktivieren

Wenn der Kernel passend konfiguriert ist, kann Cool&Quiet mit folgenden Befehlen aktiviert werden:

  • modprobe powernow-k8
  • modprobe cpufreq-ondemand
  • echo ondemand >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor


Damit Cool&Quiet beim Systemstart automatisch aktiviert wird, können diese Befehle in ein Startskript übernommen werden. Bei LinVDR können sie zum Beispiel an's Ende der Datei /etc/init.d/rcStart hinzugefügt werden.

Wird eines der beiden Module nicht gefunden, so ist die Kernelkonfiguration anzupassen (siehe unten).


Kernel-Konfiguration für Cool&Quiet

Folgende Kernel-Optionen sind in der Kernel-Konfiguration unter "Power management options" anzuwählen. Danach ist der Kernel und die Kernel-Module neu zu übersetzen.

 x "CPU Frequency scaling".
 x "CPU frequency translation statistics"
     x "CPU frequency translation statistics  details"
 "Default CPUFreq governor"
     x "performance governor"
 M "ondemand cpufreq governor"       (--> erzeugt Modul cpufreq-ondemand)
 M "AMD Opteron/Athlon64 PowerNow!"  (--> erzeugt Modul powernow-k8)


Cool&Quiet in den Distributions-Kernels

  • Ubuntu: Kernel ist bereits C&Q-fähig
  • LinVDR:
    • Funktioniert nicht mit Original-Kernel
    • DarkAngel-Kernel 2.6.12.2 ist bereits C&Q-fähig
    • Dr.Seltsam-Kernel enthält die nötigen Module. Müsste also gehen. Ungetestet.

Probleme, Tipps und Tricks

Trotz hoher CPU-Last wird nicht hochgetaktet

Dieses Problem tritt auf, wenn Prozesse mit nice eine niedrige Priorität bekommen. Standardmäßig taktet der ondemand-Governor den Prozessor für solche Prozesse nicht hoch. Darunter leidet dann die Performance bei vdrconvert, noad und ähnlichen Dingen erheblich. Für VDRs macht es daher Sinn, dieses Feature abzuschalten:

  • echo 1 >/sys/devices/system/cpu/cpu0/cpufreq/ondemand/ignore_nice

Nach Eingabe dieses Befehls wird auch für Prozesse mit niedriger Priorität auf höchste Leistung geschaltet. Der Befehl kann in die Startskripte direkt hinter die anderen Cool&Quiet-Befehle übernommen werden.

Welche Taktfrequenz hat der Prozessor jetzt?

Am leichtesten ist dies herauszufinden über den Befehl

  • cat /proc/cpuinfo

Es gilt der Wert in der Zeile "cpu MHz".