Warum tick_sched_timer unter Linux so viel Strom verbraucht

Warum tick_sched_timer unter Linux so viel Strom verbraucht

Laut meinem Powertop (auf Kernel 5.3.1):

Power est.              Usage       Events/s    Category       Description
 ...
  3.85 W      7,7 ms/s     437,0        Timer          tick_sched_timer

3,85 W auf einem Laptop sind enorm, manchmal sind es sogar bis zu 6 W. Ich habe das bei früheren Kerneln (5.0.x) nicht gesehen. Weiß jemand, wie man diesen Stromverbrauch reduzieren kann?

Antwort1

tick_sched_timerist Teil des CPU-Schedulers des Linux-Kernels. In diesem Fall zeigt es wahrscheinlich viele context switchesund cpu-wakeupsauf Ihrem System an.

Wenn Sie feststellen, dass viel Strom verbraucht wird, liegt dies wahrscheinlich daran, dass etwas in Ihrem System viel context switchesund/oder verursacht cpu-wakeups. – Dies könnte mit einem Treiber zusammenhängen, z. B. einem GPU-Treiber, Bluetooth, WLAN usw., der ein aggressives Aktualisierungsintervall aufweist oder möglicherweise viele Hardware-Interrupts auslöst … Es könnte jedoch auch an einer Userspace-Software liegen … selbst Powertop verfälscht diese Zahlen ein wenig.

Möglicherweise haben Sie Erfolg, wenn Sie Treiber (wie Bluetooth) deaktivieren, wenn sie nicht verwendet werden (oder wenn sie nicht verwendet werden, indem Sie sie komplett auf die schwarze Liste setzen). Oder Sie ändern die CPU-Regler und/oder verwenden verschiedene Stromsparmethoden/-strategien. Je nachdem, wie Ihr Kernel konfiguriert ist, kann auch die Reduzierung des Timer-Ticks Strom sparen. Beispielsweise können einige Kernel mit erstellt werden CONFIG_HZ_1000=y, während andere mit erstellt werden CONFIG_HZ_250=y. Letzteres sollte etwas Strom sparen.

Powertop kann Ihnen Hinweise auf die Ursache geben, tick_sched_timerist aber nicht die eigentliche Ursache für die Entladung Ihrer Batterie (es ist nur ein Symptom). Es liegt wahrscheinlich an einem anderen Thread, Task oder Prozess; im Kernel oder möglicherweise im Benutzerbereich.

Antwort2

Ein bisschen spät zur Party, aber ich habe meinen Verbrauch von durchschnittlich über 2 W auf weniger als 1 gesenkt, indem ich meine Einstellungen mit angepasst habe tlpui.

Gehen Sie zu Prozessor und aktivieren Sie die Option SCHED_POWERSAVE. Sie können in dieser Kategorie auch mit den vielen CPU-Anpassungen herumspielen.

Für Intel-CPUs: Gehen Sie zu „Grafik“ und passen Sie INTEL_GPU_FREQ auf niedrigere Werte an. Prüfen Sie vorher unbedingt, was verfügbar ist sudo tlp-stat -g.

Für AMD-CPUs: Gehen Sie zu „Grafik“ und setzen Sie RADEON_POWER_PROFILE_ON_BAT und RADEON_DPM_STATE jeweils auf „Niedrig“ und „Batterie“.

Das Deaktivieren von Bluetooth scheint auch zu helfen.

Dies ist natürlich nicht ideal, da die Leistung dadurch erheblich beeinträchtigt wird, aber wenn Ihnen die Akkulaufzeit wichtiger ist als die Leistung, sollten Sie sich für diese Option entscheiden.

verwandte Informationen