CPU 주파수 스케일링을 완전히 비활성화하는 방법은 무엇입니까? Intel Tiger Lake CPU 노트북에서 커널 5.9 실행 문제

CPU 주파수 스케일링을 완전히 비활성화하는 방법은 무엇입니까? Intel Tiger Lake CPU 노트북에서 커널 5.9 실행 문제

방금 Intel Tiger Lake CPU(i7-1165G7, 2.80GHz)가 탑재된 새 노트북(Asus UX435EG-AI084R)을 구입하고 여기에 Debian Linux(베타)를 설치했습니다. 불행하게도 CPU 주파수 스케일링과 관련된 매우 이상한 문제에 직면했습니다. CPU에 과부하가 걸릴 때마다 주파수는 400MHz로 떨어집니다. CPU가 부하를 끄고 시스템이 (거의) 유휴 상태일 때 주파수는 약 1.2GHz까지 상승합니다. CPU는 절대로 뜨거워지지 않습니다. 어떤 이유에서인지 시스템은 필요할 때 빈도를 늘리는 대신 빈도를 줄입니다! 흥미롭게도 이 동작은 Windows 10 Pro(이중 부팅)에서는 존재하지 않습니다.

다음을 시도했지만 위의 이상한 동작을 변경하지 못했습니다.

  • intel_pstate=disableintel_pstate( 커널 매개변수) 를 비활성화했습니다 .
  • "절전" 대신 "성능" 정책을 강제로 사용합니다.
  • 최소 주파수를 3GHz로 설정합니다. 예, 그래도 작동하지 않습니다! CPU는 전체 로드 시 여전히 400MHz로 떨어지고 유휴 상태에서는 3GHz로 돌아갑니다.
  • 을(를) 제거하려고 합니다 tlp.
  • 온도를 다시 확인했어요. 부하가 걸린 상태에서는 온도가 60C를 초과하지 않습니다.
  • 온라인에서 찾은 가능한 모든 솔루션을 시도했지만 아무 효과가 없었습니다.
  • 터보 부스트를 비활성화했습니다
  • BIOS에는 수정할 CPU 관련 옵션이 없습니다.
  • 충전기에서 노트북을 분리해도 아무런 차이가 없습니다.

문제는 Linux에서만 발생하므로 이것이 커널/펌웨어/드라이버 버그라고 의심되기 시작했습니다. 그래서 제가 한 일은 Intel Clear Linux를 라이브로 부팅하고 다음을 수행하는 것이었습니다:

  • 4개의 간단한 while True: passPython 스크립트를 실행하여 4개의 코어를 모두 점유합니다. lscpu는 ~400MHz를 반환합니다.
  • 실행 중인 스크립트 중 하나를 종료하면 lscpu가 ~800MHz를 반환합니다.
  • 2개의 코어를 차지하는 실행 중인 스크립트 중 하나를 종료합니다. lscpu는 ~1200MHz를 반환합니다.
  • 1개의 코어를 차지하는 실행 중인 스크립트 중 하나를 종료하면 ~1800MHz가 반환됩니다.

현재 Debian Linux(베타)는 커널 5.9.0-5를 사용하는 반면 Intel Clear Linux는 커널 5.9.12를 사용합니다. 나는 3년 된 Intel CPU와 이 문제가 없는 동일한 Debian Linux 버전을 갖춘 또 다른 노트북을 가지고 있습니다.

  • 소프트웨어/커널/드라이버 버그를 보고 있다고 가정하는 것이 합리적입니까?
  • 커널 5.10이 데비안 테스트에 도달할 때까지 기다리는 동안 모든 종류의 주파수 스케일링을 완전히 비활성화할 수 있는 방법이 있습니까?

감사해요

편집 1:

결과적으로 5.10 커널에서는 어떤 문제도 해결되지 않았습니다. Ubuntu 20.10에도 동일한 문제가 있습니다. Intel Clear Linux와 무엇이 다른지 파악하고 이에 맞게 Debian을 구성해 보아야 할 것 같습니다. 어떤 제안이라도 매우 환영합니다.

답변1

알고 보니 thermald데비안 저장소에서 설치해야 했습니다. 그렇게 하고 나니 모든 것이 잘 작동하기 시작했습니다. 더 이상 400MHz로 다운클럭할 필요가 없습니다. 흥미롭게도 저는 과거에 이 패키지를 개인적으로 설치한 적이 없으며, 이전 노트북 중 어느 것도 이 문제를 겪은 적이 없습니다. 예전에는 다른 패키지의 종속성으로 자동 설치되었던 것 같은데, 전혀 눈치채지 못했습니다.

감사해요!

관련 정보