Tick_sched_timer가 Linux에서 그렇게 많은 전력을 사용하는 이유

Tick_sched_timer가 Linux에서 그렇게 많은 전력을 사용하는 이유

내 powertop에 따르면(5.3.1 커널):

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

노트북의 3.85W는 엄청나며 때로는 최대 6W까지 도달하기도 합니다. 이전 커널(5.0.x)에서는 이런 현상을 본 적이 없습니다. 전력 사용량을 줄이는 방법을 아는 사람이 있습니까?

답변1

tick_sched_timer리눅스 커널의 CPU 스케줄러의 일부입니다. 이 경우 시스템에 많은 context switches및가 있음을 나타낼 가능성이 높습니다.cpu-wakeups

많은 전력을 사용하는 것으로 보이면 시스템의 무언가로 인해 많은 context switches및/또는 cpu-wakeups. -- 이는 운전자와 관련될 수 있습니다. GPU 드라이버, 블루투스, Wi-Fi 등과 같은 공격적인 업데이트 간격이 있거나 드라이버가 많은 하드웨어 인터럽트를 발생시키는 경우... 그러나 일부 userpsace 소프트웨어로 인해 발생할 수도 있습니다. .. 심지어 powertop도 이 숫자를 약간 왜곡할 것입니다.

사용하지 않을 때 드라이버(예: 블루투스)를 비활성화하면 어느 정도 성공할 수 있습니다(또는 사용하지 않는 경우 완전히 블랙리스트에 추가). 또는 CPU 거버너 변경 및/또는 다양한 절전 방법/전략 사용... 커널 구성 방법에 따라 타이머 틱을 줄이면 전원이 절약될 수도 있습니다. 예를 들어 일부 커널은 으로 빌드될 수 CONFIG_HZ_1000=y있고 다른 커널은 으로 빌드될 수 있습니다 CONFIG_HZ_250=y. 후자는 약간의 전력을 절약해야 합니다.

Powertop은 원인이 무엇인지에 대한 정보를 제공할 수 있습니다. 하지만 tick_sched_timer배터리 소모의 근본 원인은 아닙니다(단지 증상일 뿐입니다). 다른 스레드, 작업 또는 프로세스일 가능성이 높습니다. 커널 또는 사용자 공간에서 가능합니다.

답변2

파티에 조금 늦었지만 tlpui.

프로세서로 이동하여 SCHED_POWERSAVE 옵션을 켜기로 선택합니다. 해당 범주의 많은 CPU 조정을 망칠 수도 있습니다.

Intel CPU의 경우: 그래픽으로 이동하여 INTEL_GPU_FREQ를 더 낮은 값으로 조정하고, 사전에 사용하여 사용 가능한 항목을 확인하세요 sudo tlp-stat -g.

AMD CPU의 경우: 그래픽으로 이동하여 RADEON_POWER_PROFILE_ON_BAT 및 RADEON_DPM_STATE를 각각 낮음 및 배터리로 설정합니다.

블루투스를 비활성화하는 것도 도움이 되는 것 같습니다.

분명히 이것은 성능이 상당히 저하되기 때문에 이상적이지는 않지만 성능보다 배터리 수명을 더 중요하게 생각한다면 이것을 선택하십시오.

관련 정보