Benutzer-Werkzeuge

Webseiten-Werkzeuge


ubuntu_-_power-management

Ubuntu - Power-Management

siehe auch: https://www.kernel.org/doc/html/v4.18/admin-guide/pm/sleep-states.html

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
/home/http/wiki/data/pages/ubuntu_-_power-management.txt · Zuletzt geändert: von manfred