====== 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