Um die obere CPU-Frequenz mit dem intel_pstate-Treiber auf 52% zu begrenzen, gehen Sie wie folgt vor:
echo "52" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
Anmerkung 1: Bei der Berechnung von 52% habe ich angenommen, dass Sie den Turbo aktiviert haben, für einen Maximalzustand von 31. Daher ist 1,6 / 3,1 = 52%. Wenn Sie den Turbo deaktiviert haben, beträgt die Anzahl 64%. Es ist nicht erforderlich, den Turbo speziell zu deaktivieren, da er mit dieser Begrenzung sowieso nie in den Turbobereich gelangt.
Hinweis 2: Abhängig von Ihren Anwendungen und Ihrem Prozessor führt die Begrenzung der CPU-Frequenz möglicherweise nicht zur längsten Akkulaufzeit. In einigen Fällen kann die schnellere Ausführung der Aufgabe über eine höhere CPU-Frequenz und das frühere und längere Versetzen einiger CPUs in den Energiesparmodus (höchster C-Status) insgesamt zu einem geringeren Stromverbrauch führen.
Hinweis 3: Die Lösung ist nicht permanent und die Einstellung geht beim Neustart verloren. Ich schlage vor, Sie versuchen es eine Weile, melden sich dann und wir können darüber nachdenken, wie Sie es dauerhaft machen. Dafür gibt es andere Tools auf höherer Ebene, aber ich benutze sie nie. Jemand anderes bietet möglicherweise eine andere Antwort mit den Tools der höheren Ebene an.
Ein Beispiel (anderer Prozessor, andere Nummern). CPU 7 ist zu 100% ausgelastet:
Vor dem Einstellen der oberen Frequenzgrenze:
$ grep MHz /proc/cpuinfo
cpu MHz : 3697.234
cpu MHz : 3655.796
cpu MHz : 3699.890
cpu MHz : 3742.257
cpu MHz : 3613.562
cpu MHz : 3670.273
cpu MHz : 3628.968
cpu MHz : 3799.898
Begrenzen Sie nun die obere Frequenz und überprüfen Sie diese:
$ echo "50" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
50
$ cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
50
$ grep MHz /proc/cpuinfo
cpu MHz : 1899.882
cpu MHz : 1900.015
cpu MHz : 1899.882
cpu MHz : 1893.906
cpu MHz : 1899.351
cpu MHz : 1900.015
cpu MHz : 1899.750
cpu MHz : 1899.882
BEARBEITEN: Achten Sie auf die Rückportierung der Änderungen des intel_pstate-Treibers für den aktuellen Kernel. Ich weiß, dass Backporting durchgeführt wird, aber ich kenne die Veröffentlichungszeitpläne nicht.
Damit die Änderung immer während des Startvorgangs auftritt, müssen Sie zunächst ein Skript erstellen. Beispiel:
$ cat set_cpu_max_perf_pct
#! /bin/bash
echo 52 >/sys/devices/system/cpu/intel_pstate/max_perf_pct
echo -n "intel_pstate maximum performance request is (percent): "
cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
Testen Sie das Skript als sudo. Lesen Sie dann eine der vielen anderen Fragen und Antworten zu dieser Adresse, damit sie während des Startvorgangs ausgeführt wird. Sag, das hier .
Alternativ können Sie Tools wie TLP installieren , die diese Einstellungen in der Konfigurationsdatei mit Parametern für Batterie oder Wechselstrom und automatischem Wechsel haben.