CPU-Powermode in Debian einstellen

In diesem Artikel gehe ich kurz darauf ein, wie wir den CPU-Powermode auf einem Debian-Server einstellen können. In einem Proxmox-Server z.B. steht der Powermode immer auf performance, um die maximale Leistung aus einer CPU herauszuholen. Bei einem Homeserver hat man dennoch das Ziel, möglichst energiesparend unterwegs zu sein. Daher macht es bei einem Homeserver Sinn den CPU-Powermode umzustellen.

Durchführung

Um diese Einstellungen vorzunehmen, müssen wir im ersten Schritt Konsolenzugriff auf unseren Server bekommen. Dies kann entweder per SSH oder Terminal umgesetzt werden. Mit dem folgenden Befehl werden dann im Anschluss alle verfügbaren Modis angezeigt, die von der CPU unterstützt werden:

echo "powersave" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
CPU-PowermodeBeschreibung
conservativeDie CPU-Frequenz wird dynamisch dem Bedarf angepasst.
ondemandDie CPU-Frequenz wird sprunghaft dem Bedarf angepasst.
userspaceBenutzerdefinierte Einstellung der CPU-Frequenz
powersaveDie CPU läuft permanent auf der niedrigsten Taktfrequenz
performanceDie CPU läuft permanent auf der höchsten Taktfrequenz
schedutilSheduler-gesteuerte CPU-Frequenzauswahl

Mit dem folgenden Befehl können wir uns anzeigen lassen, welcher Modus aktuell pro Kern eingestellt ist:

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

Zum Abschluss müssen wir unseren gewünschten Modus einstellen. Dazu führen wir den folgenden Befehl mit unserem gewünschten Modus aus:

echo "powersave" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

Falls wir jetzt wieder überprüfen würden, welcher Modi eingestellt ist, sollten wir feststellen, dass die Änderungen erfolgreich übernommen wurden.


Leider wird diese Änderung bei einem Neustart wieder zurückgesetzt und muss neu eingestellt werden. Wir können einen Crontab erstellen, um die Änderung jetzt persistent zu machen. Dieser Crontab wird dann automatisch nach einem Neustart ausgeführt.

@reboot echo "powersave" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor >/dev/null 2>&1