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 |
- conservative - Die CPU-Frequenz wird dynamisch den aktuellen Bedürfnissen angepasst.
- ondemand - Die CPU-Frequenz wird Sprunghaft den aktuellen Bedürfnissen angepasst. Dies entspricht zumeist dem Standard auf Desktop-Systemen.
- userspace - Benutzerdefinierte Einstellung der CPU-Frequenz.
- powersave - Die CPU läuft permanent auf der niedrigsten erlaubten Taktfrequenz.
- performance - Die CPU läuft permanent auf der höchsten erlaubten Taktfrequenz. Das ist die Standardeinstellung unter Proxmox.
- schedutil - Scheduler-gesteuerte CPU-Frequenzauswahl, ab Linux Kernel 4.7 als alternative zu ondemand.
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 |