Die CPUfreq-Skalierungsregler „ondemand“ und „conservative“ ignorieren die nette Auslastung von AMD Ryzen-CPUs nicht

Die CPUfreq-Skalierungsregler „ondemand“ und „conservative“ ignorieren die nette Auslastung von AMD Ryzen-CPUs nicht

Mein Kernel 5.11.0-22-genericlädt automatisch den cpufreqSkalierungstreiber acpi-cpufreqund den Skalierungsregler schedutilfür meinen Ryzen 9 5900X. Ich habe die Einstellung aktiviert, ignore_nice_loadnachdem ich den Skalierungsregler auf ondemandoder 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_governorgibt ondemandoder conservativefür alle CPUs zurück und cat /sys/devices/system/cpu/cpufreq/ondemand/ignore_nice_loadgibt 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_loadeingestellt ist, 1erfolgt 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_loadauf 0oder 1hat sichtbare Auswirkungen auf die CPU-Frequenz, aber nicht wirklich auf die CPU-Temperatur und somit den Stromverbrauch. ignore_nice_loadverbessert 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.

verwandte Informationen