Linux und Windows HelpDesk

CPU-Powermode unter Proxmox einstellen.

In der Standardeinstellung arbeitet Proxmox immer mit maximaler Leistung.
Gerade für einen kleinen Heimserver ist das aber gar nicht nötig und verbraucht unnötig Energie. Daher ist es sinnvoll, den Powermode entsprechend seiner Bedürfnisse anzupassen.
Die CPU muss diesen natürlich unterstützen und es ist darauf zu achten, dass er im Bios aktiviert ist.

Mit folgendem Befehl wird angezeigt, welche Modi unterstützt werden.

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
conservative ondemand userspace powersave performance schedutil

Mit diesem Aufruf wird angezeigt, welcher Modus aktuell eingestellt ist.

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

Nun kann man individuell entscheiden, welcher Modus am besten geeignet ist.
Ich habe mich nach einigen Testläufen für ondemand entschieden, da dieser Modus bei mir das beste Verhältnis von Energieeinsparung und Leistung hat.

Aktiviert wird der jeweilige Modus mit folgender Eingabe.

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

Dies übersteht jedoch keinen Systemstart.
Wenn man die Zeile aber als cronjob mit der Zeitangabe @reboot einträgt, wird der Befehl bei jedem Start ausgeführt.
Neustart oder Kaltstart spielt dabei keine Rolle.

# crontab -e

Nun die Zeile am besten mit einem auskommentierten Hinweis, damit man auch später noch weiß wofür die Zeile ist, folgendermaßen eintragen.

# CPU-Powermode
@reboot echo "ondemand" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor >/dev/null 2>&1

Damit wird das System bei jedem Start in den ondemand-Modus versetzt, außerdem erfolgt keine Ausgabe darüber per eMail.

Die aktuelle CPU-Frequenz pro Prozessorkern in Hz kann man sich mit folgendem Aufruf anzeigen lassen.

# cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
1293879
1735021
1920272
1837054
1968633
1742000
1698840
1650684

Oder mit diesem Aufruf ein wenig lese-freundlicher.

# cat /proc/cpuinfo |grep -E 'processor|MHz'
processor       : 0
cpu MHz         : 2100.000
processor       : 1
cpu MHz         : 2100.000
processor       : 2
cpu MHz         : 2100.000
processor       : 3
cpu MHz         : 1783.542
processor       : 4
cpu MHz         : 2100.000
processor       : 5
cpu MHz         : 2100.000
processor       : 6
cpu MHz         : 2100.000
processor       : 7
cpu MHz         : 2100.000