In diesem Beitrag wird eine kombinierte Methode erörtert, um die Akkulaufzeit von High-End-Laptops mit 6-Core- oder 9-Core-Intel-CPUs zu verlängern und gleichzeitig die Wärmeerzeugung zu verringern. Die Methode legt die CPU -Peformance je nach Stromquelle (Wechselstrom oder Akku) unterschiedlich fest und verwendet TLP als Frontend für die Automatisierung.

15" built-in display @ 144Hz: Embedded 4 Cells Polymer battery pack – 55Wh (57.1Wh max)
powerstat wird verwendet, um die Batterieausflussrate verschiedener Profile zu bewerten.
| Verfahren | Entladungsrate | CPU -Temperatur. | Laden | Methode Beschreibung |
|---|---|---|---|---|
| 1 | 11.64W | 38-40c | Lichtlast: gnome-system-monitor , powerstat , powertop , Hintergrund: Google Chrome (1 Registerkarte), psensor | Intel GPU + Diese kombinierte Methode + Backlight Display @ 15% |
| 2 | 16.41W | 41-43c | Lichtlast: gnome-system-monitor , powerstat , powertop , Hintergrund: Google Chrome (1 Registerkarte), psensor | Intel GPU + TurboBoost Disable + Perf: 19% -50% + Original Config + Backlight Display @ 15% |
| 3 | 23.56W | 48-50c | Lichtlast: gnome-system-monitor , powerstat , powertop , Hintergrund: Google Chrome (1 Registerkarte), psensor | NVIDIA GPU (GTX 1070 MAX-Q) + TurboBoost Disable + Perf: 19% -50% + Original Config + Backlight Display @ 15% |
| 4 | 9.11W | 36c | Keine Last (Leerlauf) | Intel GPU + Diese kombinierte Methode + Backlight Display @ 15% |
HINWEIS: Ich habe System76-Power verwendet, um die NVIDIA-GPU zu deaktivieren.
Während powertop derzeit die aktuelle Wiederaufladungsrate pro Prozess momentan berichtet, ist es nicht genau, den Gesamtstromverbrauch zu messen. Ein Werkzeug, das den Stromverbrauch über einen langen Zeitraum (7-10 Minuten) statistisch misst, führt zuverlässigeren Ergebnissen. Am Ende verwenden wir powerstat .
Aus der Bewertung kann Methode 1 dem Oryx4 -Laptop helfen, etwa 5 Stunden unter Licht zu halten (ich habe oft 5h - 5,2h). Während Methode 4 die Laptop -Batterie im Leerlauf auf 6 Stunden verlängern kann (ein bequemer Testfall für verschiedene Profile, nicht praktische Anwendungsfall).


powertop --auto-tune am Start-up, um Konflikte mit TLP zu vermeiden). Um die Akkulaufzeit zu verlängern, verwende ich die folgenden kombinierten Methoden:
tlp .powertop .Anstatt die CPU manuell zu untertagen, verwende ich eine dynamische Methode, um die CPU-Frequenz abzubauen, indem die in Wechselstrom und Batterie zulässige maximale und minimale Leistung festgelegt wird.
Erfordernis: Ein aktiver Intel P_State -Treiber (Power Gouverneur = Powersave (Standard)) (um zu überprüfen: cat /sys/devices/system/cpu/intel_pstate/status )
Batteriemodus :
echo 20 | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
echo 20 | sudo tee /sys/devices/system/cpu/intel_pstate/min_perf_pct
echo 1 | sudo tee /sys/devices/system/cpu/intel_pstate/no_turboErklären : Legen Sie die maximale Leistung fest, die 19% der höchstmöglichen Leistung zulässt. Der Intel P_State-Treiber setzt die CPU-Frequenz entsprechend ab. Dies kann zur Laufzeit ausgeführt werden.
HINWEIS : Sie sollten experimentieren und einen unterschiedlichen max_perf_pct value ausprobieren und sehen, welche am besten zu Ihrem Bedarf passt. Schlagen Sie vor: Wenn Sie im Batteriemodus verwenden, versuchen Sie es zuerst mit einem Wert zwischen 20 und 30%. Wenn Sie auf AC sind, versuchen Sie einen Wert zwischen 70 und 90%.
Wechselstrommodus :
echo 80 | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
echo 20 | sudo tee /sys/devices/system/cpu/intel_pstate/min_perf_pct
echo 0 | sudo tee /sys/devices/system/cpu/intel_pstate/no_turboErklären : Legen Sie die maximale Leistung fest, die 80% der höchstmöglichen Leistung ermöglicht hat. Der Intel P_State-Treiber setzt die CPU-Frequenz entsprechend ab. Dies kann zur Laufzeit ausgeführt werden.
Mit dieser Einstellung beträgt die maximale CPU-Temperatur 40 ° C (Lichtlast + kein Turboost) auf der Batterie und 75-80 ° C (hohe Last + Turboost) mit einem angesteckten Wechselstrom. Siehe diesen Beitrag für die Beziehung zwischen Frequenz und Temperatur.
Um den Prozess zu automatisieren, verwende ich TLP. Hier finden Sie meine TLP -Konfiguration
Bitte lesen Sie die Konfiguration vor dem Bewerben durch. Außerdem ermutige ich Sie, das TLP -Dokument hier zu lesen
Um Bluetooth beim Akku zu deaktivieren, ändern Sie die folgende Zeile in Ihrer TLP -Konfiguration:
DEVICES_TO_DISABLE_ON_STARTUP="bluetooth"
Ethernet verbraucht enorme Energie, wenn es verwendet wird (12-14 W) und beträchtliche Energie (0,5-1W), wenn es nicht verwendet wird/im Leerlauf. Um Ihr Ethernet auszuschalten, siehe ifconfig für den Namen Ethernet -Schnittstellen, und töten Sie es dann ab
sudo ifconfig enp4s0 down HINWEIS : Ethernet könnte im Leerlauf sein (dh kein Kabel angeschlossen), aber powertop würde es in voller Auslastung melden.
Siehe das Bash -Skript (nach dem Neustart des Akkus ausführen): Hier
Ich fand heraus, dass ich nie alle meine CPU -Kerne im Batteriemodus verwendet habe. Da mein Ziel darin bestand, den Akku meines Laptops vor dem Entleeren zu verhindern, habe ich nie rechnerisch teure Programme ohne Wechselstromleiter durchgeführt. Daher ist es für mich hilfreich, einige CPU -Kerne im Batteriemodus zu deaktivieren. Es hat keinen wahrgenommenen Performance -Rückgang eingeführt, da ich nur einfache Programme wie VI -Texteditor, 4 oder 5 Chrome -Registerkarten, Libreoffice usw. durchgeführt habe.
Um 4/6 physische Kerne in i7-8750h zu deaktivieren (keine Sorge, sie werden online, wenn Sie sie explizit wieder auf oder nach dem Neustart aktivieren).
echo 0 | sudo tee /sys/devices/system/cpu/cpu11/online
echo 0 | sudo tee /sys/devices/system/cpu/cpu10/online
echo 0 | sudo tee /sys/devices/system/cpu/cpu9/online
echo 0 | sudo tee /sys/devices/system/cpu/cpu8/online
echo 0 | sudo tee /sys/devices/system/cpu/cpu7/online
echo 0 | sudo tee /sys/devices/system/cpu/cpu6/online
echo 0 | sudo tee /sys/devices/system/cpu/cpu5/online
echo 0 | sudo tee /sys/devices/system/cpu/cpu4/online Ersetzen Sie echo 0 durch echo 1 , wenn Sie diese CPU -Kerne wieder einschalten möchten.
Siehe das Bash -Skript (nach dem Neustart des Akkus ausführen) hier.
powertop --calibrate die Batterie über einen längeren Zeitraum, bevor Sie mit der Einstellung beginnen können. Sie müssen dies nur einmal ausgeführt.powertop --auto-tune , um PowerTop die schlechten Prozesse zu optimieren, die Ihre Batterie essen.powertop --auto-tune am Startup, um Konflikte mit TLP zu vermeiden. powertop neigt normalerweise dazu, alle peripheren Geräte auf der Batterie zu übereinstimmen. Dies kann unsere USB -Geräte weniger reaktionsschnell machen. Zu diesem Zweck müssen wir powertop manuell sagen, dass wir es nicht anpassen sollen.
Zum Beispiel habe ich eine Logitech-drahtlose USB-Maus, die nach powertop --auto-tune Steckdosen. Es gibt zwei Hauptteile in einer drahtlosen Mauskommunikation, dem Sender in der Maus und einem Empfänger, der sich an den USB-Anschluss am PC anschließt. Um powertop zu sagen, er solle den Stromverbrauch für meine Maus nicht optimieren, tun Sie dies wie folgt:
sudo powertopTunables und finden Sie den Eintrag in Bezug auf den USB -Empfänger oder Ihr interessierendes Gerät. Der aktuelle Tuning -Status ist (nicht wirklich) als Good gekennzeichnet, da powertop ihn abgestimmt hat. 
powertop sagen, dass wir in unserem Maus -Surfengeschäft nicht mehr einmischen sollen. Zu diesem Zweck werden wir den hervorgehobenen Eintrag (mit den Auf-/Ab -Tasten auf Ihrer Tastatur) auswählen und die Eingabetaste drücken, um den Status von Good auf Bad zu ändern. Beachten Sie, dass Bad nicht darauf hinweist, dass das hervorgehobene Gerät fehlerhaft ist oder Rouge (Stromverbrauch) betrifft. Es ist nur ein Weg, wie powertop uns sagt, dass dieses Gerät nicht abgestimmt ist. 
Hoffe es hilft.