방금 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=disable
intel_pstate( 커널 매개변수) 를 비활성화했습니다 .- "절전" 대신 "성능" 정책을 강제로 사용합니다.
- 최소 주파수를 3GHz로 설정합니다. 예, 그래도 작동하지 않습니다! CPU는 전체 로드 시 여전히 400MHz로 떨어지고 유휴 상태에서는 3GHz로 돌아갑니다.
- 을(를) 제거하려고 합니다
tlp
. - 온도를 다시 확인했어요. 부하가 걸린 상태에서는 온도가 60C를 초과하지 않습니다.
- 온라인에서 찾은 가능한 모든 솔루션을 시도했지만 아무 효과가 없었습니다.
- 터보 부스트를 비활성화했습니다
- BIOS에는 수정할 CPU 관련 옵션이 없습니다.
- 충전기에서 노트북을 분리해도 아무런 차이가 없습니다.
문제는 Linux에서만 발생하므로 이것이 커널/펌웨어/드라이버 버그라고 의심되기 시작했습니다. 그래서 제가 한 일은 Intel Clear Linux를 라이브로 부팅하고 다음을 수행하는 것이었습니다:
- 4개의 간단한
while True: pass
Python 스크립트를 실행하여 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로 다운클럭할 필요가 없습니다. 흥미롭게도 저는 과거에 이 패키지를 개인적으로 설치한 적이 없으며, 이전 노트북 중 어느 것도 이 문제를 겪은 적이 없습니다. 예전에는 다른 패키지의 종속성으로 자동 설치되었던 것 같은데, 전혀 눈치채지 못했습니다.
감사해요!