Cool&Quiet
Aus VDR Wiki
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 (nicht jedoch auf Sockel A)
- Mobile Athlon64 und Mobile Sempron
- Turion64
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
Wird eines der beiden Module nicht gefunden, so ist die Kernelkonfiguration anzupassen (siehe unten). Ob ein laufender Kernel mit "Frequency scaling"-Unterstüzung kompiliert wurde erfährt man durch folgenden Befehl:
zcat /proc/config.gz | grep 'FREQ|POWERNOW|SPEEDSTEP' | less
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)
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_load
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.
Auch bei niedrigerer Last hochschalten
Standardmäßig schaltet der ondemand-Governor die CPU ab einer Auslastung von 80% auf die höchste Stufe. Will man schon bei niedrigerer Auslastung volle Power, so lässt sich das wie folgt erreichen:
- echo 30 >/sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold
Nach Eingabe dieses Befehls erreicht die CPU schon bei 30% Auslastung die volle Geschwindigkeit. Statt "30" kann man natürlich auch jeden anderen Wert zwischen 0 und 100 angeben.
Aktuelle Taktfrequenz anzeigen
Auf der Konsole kann man sich die aktuelle Taktfrequenz mit folgendem Befehl anzeigen lassen (relevant ist der Wert in der Zeile "cpu MHz"):
- cat /proc/cpuinfo
Für eine Anzeige innerhalb der VDR-Software empfiehlt sich das Sysinfo-plugin.