Benutzer-Werkzeuge

Webseiten-Werkzeuge


ubuntu_-_power-management

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ubuntu_-_power-management [2015-05-01 22:56:07] – [Mein manueller CPU-Profil-Umschalter für mein Laptop] manfredubuntu_-_power-management [2025-08-10 01:28:31] (aktuell) manfred
Zeile 1: Zeile 1:
 +====== 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
 +<file>
 +#!/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
 +</file>
 +
 +  > vi /root/bin/cpufreq-powersave.sh
 +<file>
 +#!/bin/bash
 +
 +for i in $(cpufreq-info | awk '/analysiere CPU /{sub(":.*","");print $NF}')
 +do
 +        cpufreq-set -c ${i} -g powersave
 +done
 +</file>
 +
 +  > vi /root/bin/cpufreq-ondemand.sh
 +<file>
 +#!/bin/bash
 +
 +for i in $(cpufreq-info | awk '/analysiere CPU /{sub(":.*","");print $NF}')
 +do
 +        cpufreq-set -c ${i} -g ondemand
 +done
 +</file>