====== Ubuntu - Power-Management ====== siehe auch: [[https://www.kernel.org/doc/html/v4.18/admin-guide/pm/sleep-states.html]] * [[http://wiki.ubuntuusers.de/Prozessortaktung]] Standardeinstellung: cpufreq-set -g ondemand Verfügbare Governors * ondemand -> Standard bei den meisten Systemen. Die CPU-Frequenz wird den aktuellen Bedürfnissen an die Rechenleistung angepasst. Dabei wird die CPU-Frequenz u.U. sprunghaft angehoben oder abgesenkt. * conservative -> Die CPU-Frequenz wird den aktuellen Bedürfnissen an die Rechenleistung angepasst. Die Taktfrequenz wird aber Schritt-für-Schritt angehoben bzw. abgesenkt. * performance -> CPU läuft permanent auf der höchsten erlaubten Taktfrequenz. * powersave -> CPU läuft permanent auf der niedrigsten erlaubten Taktfrequenz. * userspace -> Dies ist kein Kernel-eigener Governor. Vielmehr wird ein Governor-Programm wie z.B. powernowd verwendet. Sinnvoll, wenn der Kernel meint, nur den Governor performance verwenden zu können (siehe Problembehebung). den Governor von Hand auf maximale Sparsamkeit umstellen: for i in $(ls /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor);do echo powersave > ${i} ; done die maximale Taktfrequenz von Hand auf den Wert der minimalen Taktfrequenz begrenzen, dann kann sie kein Dienst mehr erhöhen: for i in $(ls /sys/devices/system/cpu/cpu*/cpufreq/scaling_min_freq);do cat ${i} > $(dirname ${i})/scaling_max_freq ; done die Taktfrequenz manuell minimalisieren und den Governor auf maximale Sparsamkeit umstellen: cpufreq-set -d $(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq) -g powersave ===== Mein manueller CPU-Profil-Umschalter für mein Laptop ===== ich habe die Info-Ausgabe auf das nötigste reduziert: > /home/bin/cpufreq-info.sh CPU 0: Taktik: powersave 800 MHz CPU 1: Taktik: powersave 800 MHz CPU 2: Taktik: powersave 800 MHz CPU 3: Taktik: powersave 800 MHz um das Skript als Monitor zu nutzen kann man diesen Aufruf verwenden: > watch -n1 /home/bin/cpufreq-info.sh wenn ich nur auf Batterie arbeite, dann schalte ich auf das Powersave-Profil um: > sudo /etc/sudoers.d/powersave bin ich wieder an der Steckdose, dann schalte ich wieder auf das Standard-Profil zurück: > sudo /etc/sudoers.d/ondemand ---- Hier zeige ich alle Dateien, die nötig sind: > vi /etc/sudoers.d/powersave ALL ALL = NOPASSWD:/root/bin/cpufreq-powersave.sh > vi /etc/sudoers.d/ondemand ALL ALL = NOPASSWD:/root/bin/cpufreq-ondemand.sh > vi /root/bin/cpufreq-info.sh #!/bin/bash cpufreq-info | sed 's/analysiere CPU/³ ³analysiere CPU/g' | tr -d '\n' | tr -s '³' '\n' | sed -n '/analysiere CPU/,/momentane Taktfrequenz/p' | sed 's/momentane Takt/³momentane Takt/g' | tr -s '³' '\n' | sed 's/momentane Taktik: .* "/momentane Taktik: /;s/^analysiere CPU [0-9][0-9]*:/&"/;s/Hz/&"/;s/".*$//' | grep -Ev '^[ \t]*$' | awk '{print $(NF-1),$NF}' | sed 's/^CPU /³&/' | tr -s '\n' ' ' | tr -s '³' '\n' echo > vi /root/bin/cpufreq-powersave.sh #!/bin/bash for i in $(cpufreq-info | awk '/analysiere CPU /{sub(":.*","");print $NF}') do cpufreq-set -c ${i} -g powersave done > vi /root/bin/cpufreq-ondemand.sh #!/bin/bash for i in $(cpufreq-info | awk '/analysiere CPU /{sub(":.*","");print $NF}') do cpufreq-set -c ${i} -g ondemand done