
Mein Kernel 5.11.0-22-generic
lädt automatisch den cpufreq
Skalierungstreiber acpi-cpufreq
und den Skalierungsregler schedutil
für meinen Ryzen 9 5900X. Ich habe die Einstellung aktiviert, ignore_nice_load
nachdem ich den Skalierungsregler auf ondemand
oder geändert hatte conservative
, um meinen Anforderungen gerecht zu werden.
Dementsprechend sieht nach den Änderungen alles korrekt aus; cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
gibt ondemand
oder conservative
für alle CPUs zurück und cat /sys/devices/system/cpu/cpufreq/ondemand/ignore_nice_load
gibt 1 zurück.
Auch nach der Änderung funktioniert die Frequenzskalierung wie erwartet, aber die Nice Load wird nicht ignoriert, d. h. BOINC-Prozesse, die mit einer Niceness von 19 laufen, führen zu einer Erhöhung der CPU-Frequenz. Fällt Ihnen eine Möglichkeit ein, die Nice Load mit einer Ryzen 9-CPU zu ignorieren?
Antwort1
Dieses Problem wurde durch die neue Kernelversion behoben 5.13.0-21-generic
, die ich nach dem Upgrade auf Kubuntu 21.10 erhalten habe. Wenn die CPU-Frequenz ignore_nice_load
eingestellt ist, 1
erfolgt keine Skalierung, wenn BOINC im Hintergrund läuft.
Dennoch hat die Hintergrundlast einen erheblichen Einfluss auf die CPU-Temperatur. Im Leerlauf springt die CPU-Temperatur von etwas weniger als 30 Grad Celsius vor dem Start des BOINC-Daemons auf etwas über 50 Grad Celsius nach dem Start des BOINC-Daemons.
Die Einstellung ignore_nice_load
auf 0
oder 1
hat sichtbare Auswirkungen auf die CPU-Frequenz, aber nicht wirklich auf die CPU-Temperatur und somit den Stromverbrauch. ignore_nice_load
verbessert meine CPU-Temperatur nur um 10 Grad Celsius, von etwas über 60 Grad Celsius auf etwas über 50 Grad Celsius.
Mein Fazit ist, dass sich die CPU-Energieverwaltung im Laufe der Jahre dramatisch verbessert hat und meine CPU nie wirklich im Leerlauf ist, sondern Energie spart, indem sie, wann immer möglich, in den Ruhezustand wechselt. Dies macht ein Tool wie BOINC, das im Leerlauf befindliche CPU-Zyklen nutzen soll, nicht mehr relevant.