내 CPU가 cpupower로 설정된 최대 주파수를 무시하는 이유는 무엇이며 CPU가 너무 뜨거워지는 것을 방지하려면 어떻게 해야 합니까?

내 CPU가 cpupower로 설정된 최대 주파수를 무시하는 이유는 무엇이며 CPU가 너무 뜨거워지는 것을 방지하려면 어떻게 해야 합니까?

나는 Lenovo T530 노트북에서 Debian 10(buster)을 사용하고 있는데, 4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 GNU/Linux수년 i7-3630QM동안 주파수 스케일링과 온도 문제를 걱정하지 않았지만 최근에 문제가 되었습니다.

CPU 집약적인 응용 프로그램을 실행하려고 하면 CPU가 오랜 시간 동안 매우 뜨거워질 수 있는데, 이는 100°C 이상을 의미합니다. 이 노트북은 이제 8년이 넘었고 얼마나 더 오래 지속될지 확신할 수 없어서 이렇게 생각했습니다.

  1. 최대한 오래 지속되도록 하고
  2. 높은 부하와 온도에서 팬의 소음이 상당히 커질 수 있으므로 소음 공해를 줄입니다.

몇 년 전에는 이 작업을 수행하는 데 사용할 수 있는 거버너가 여러 개 있었는데 지금은 powersave및 만 있다는 사실에 놀랐습니다 performance. cpupower예를 들어 2.4GHz를 사용하여 최대 주파수를 설정해 보았습니다 cpufreq-set -u 2.4GHz.

불행히도 이것은 실제로 작동하지 않는 것 같습니다. cpupower frequency-info보고서

  current policy: frequency should be within 1.20 GHz and 2.40 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.

cpupower frequency-info그러나 CPU 집약적인 응용 프로그램(특히 3D 그래픽 가속이 필요한 응용 프로그램)을 실행하면 제 경우에는 "Stellaris" 게임이 보고된 것처럼 CPU가 매우 뜨거워지는 것은 놀라운 일이 아닙니다.

  hardware limits: 1.20 GHz - 3.40 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 1.20 GHz and 2.40 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 3.30 GHz (asserted by call to kernel)

이것은 실제로 모순적입니다.

이제 이 문제가 논의되었습니다.이것저자가 해결한 문제그의 대답. 그러나 어떤 사람들은 이것이 효과가 없다고 논평했습니다. 내 경우에도 작동하지 않았습니다. 이번 호의 또 다른 포스터는 그의 기사에 썼습니다.답변이것은 또한 작동하지 않으며 실제로 커널에 연결됩니다.문서주파수를 안정적으로 설정하는 것이 현실적으로 불가능하다고 명시되어 있습니다.

내 노트북 ​​팬을 최근에 청소하고 새 열 페이스트를 도포했지만, 제가 말했듯이 컴퓨터가 오래되었고 여전히 꽤 뜨겁습니다. 다른 포스터제안최대 로드를 더 낮은 비율로 설정하면 실제로 효과가 있었지만 CPU가 여전히 매우 뜨거워지기 때문에 문제가 해결되지 않았습니다.

CPU 주파수를 제한하는 신뢰할 수 있는 다른 방법을 아는 사람이 있습니까? 앞서 언급한 Stellaris 예에서 게임이 로드되고 메인 메뉴에 있을 때 CPU가 주파수를 2.4GHz의 설정 값으로 제한하려고 시도한 것을 발견한 것 같습니다. 저장 파일을 로드하고 게임 자체에 들어가면 최대 빈도까지 치솟았습니다. 애플리케이션 자체에서 이러한 값을 재정의하는 것이 가능합니까?

CPU가 이렇게 높은 온도에 도달하는 것을 막는 다른 방법을 아는 사람이 있습니까? 예를 들어, CPU가 자체 조절을 시작할 때 온도 임계값을 더 낮게 설정할 수 있습니까?

답변1

감사해요아르툠 S.타슈키노프이 문제를 해결할 수 있었습니다. 그는 댓글에 썼다

intel_pstate 대신 acpi-cpufreq를 사용해 보십시오:https://silvae86.github.io/2020/06/13/switching-to-acpi-power

그게 다야.

acpi_cpufreq다음을 통해 드라이버를 설치 해야 했습니다 (제 경우에는 이미 설치되어 있었습니다).apt-get

apt-get install acpi-support acpid acpi

내 경우에는 다음과 같이 /etc/default/grub추가하여 편집 intel_pstate=disable합니다 .GRUB_CMDLINE_LINUX_DEFAULT

GRUB_CMDLINE_LINUX_DEFAULT="quiet nosplash debug intel_pstate=disable"

update-grub그런 다음 컴퓨터를 실행 하고 다시 시작합니다. 따라서 intel_pstate드라이버는 더 이상 사용되지 않고 acpi_cpufreq대신 사용됩니다. 더 많은 주지사 중에서 선택할 수 있을 뿐만 아니라(다음 내용을 읽을 수 있습니다.여기그들에 대해) 가장 중요한 것은 이제 속도 ondemand컨트롤러를 켜고 최소 및 최대 주파수를 설정할 수 있다는 것입니다. 그리고 그것은 그대로 유지되었습니다. 내 경우에는

cpupower frequency-set -g ondemand -d 1.2GHz -u 2.0GHz

지금까지 기계는 너무 뜨거워지지 않았습니다.

[편집] 여전히 온도 문제가 발생한 후에도 문제가 무엇인지 알아냈습니다. 이는 GPU 주파수 문제이며 3D 응용 프로그램을 사용할 때 문제가 계속 발생합니다. /sys/kernel/debug/dri/0/i915_ring_freq_tableGPU가 실행될 수 있는 최대 주파수가 최대 CPU 주파수에 해당함을 알 수 있습니다 . CPU 주파수를 설정한 후 /sys/class/drm/card0/gt_max_freq_mhz및 에서 GPU 주파수도 조정 해야 합니다 /sys/class/drm/card0/gt_boost_freq_mhz.

관련 정보