cpufreqd는 온도를 제어하지 않으며 출력도 표시하지 않습니다.

cpufreqd는 온도를 제어하지 않으며 출력도 표시하지 않습니다.

내 노트북(커널이 최신 2.6.39-r3이 아닌 Gentoo Linux를 실행하는 Acer Aspire 5750G(이상한 wLan 하드웨어로 인해 업데이트가 어려움))가 꽤 뜨거워지는 경향이 있기 때문에 상황을 이해하는 cpufreqd 서비스를 사용하여 이를 제어하려고 했습니다. . cpufrequtils가 존재하고 활성화되어 있습니다. acpi -t는 아무것도 반환하지 않습니다. 그러나 lm 센서가 설치되어 있어 만족스러워 보입니다.

Ulyss etc # sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +64.0 C  (high = +86.0 C, crit = +100.0 C)
coretemp-isa-0002
Adapter: ISA adapter
Core 1:       +64.0 C  (high = +86.0 C, crit = +100.0 C)
...

센서-U 수율

Ulyss 외 #sensor-u
coretemp-isa-0000
어댑터: ISA 어댑터
코어 0:
  temp1_input: 63.000
  temp1_max: 86.000
  temp1_crit: 100.000
  temp1_crit_alarm: 0.000

coretemp-isa-0002
어댑터: ISA 어댑터
핵심 1:
  temp1_input: 63.000
  temp1_max: 86.000
  temp1_crit: 100.000
  temp1_crit_alarm: 0.000
...

인터넷에서 몇 가지 정보를 읽고 마지막으로 중요한 것은

man cpufreqd.conf

/etc/sensors.d/cores.inf를 만들었습니다.

칩 "coretemp-isa-0000"
  태그 temp1 "코어 0"

칩 "coretemp-isa-0002"
  태그 temp1 "코어 1"
...

그리고 /etc/cpufreqd.conf의 일반 블록을 수정하여

[General]
  pidfile=/var/run/cpufreqd.pid
  poll_interval=2
  verbosity=7 # Was at 4
  enable_remote=1 # Was commented out
  remote_group=root # Was commented out
[/General]

활성화하고

[센서 플러그인]
Sensors_conf=/etc/sensors.d/cores.conf
[/센서-플러그인]

정의하고

[규칙]
name=CPU가 너무 뜨겁습니다
센서 = 온도 1: 60-200
CPU_간격=50-100
프로필 = 성능 저하
[/규칙]

이 모든 작업을 수행한 후 모든 센서 판독값이 섭씨 60도 이상인지 확인하고 cpufreqd를 다시 시작하여 확인했습니다.

Ulysses 외 #cpufreq-info -p
2001000 2001000 실적

다른 규칙이 더 강력할 수 있으므로 이는 여전히 사실일 수 있습니다(그런데 가중치를 적용할 수 있는 방법이 있나요? 규칙에서 특정 줄을 반복하는 방법이 있을까요?).

그래서 몇 가지 정보를 얻기 위해 가장 장황한 모드에서 직접 cpufreqd를 호출해 보았습니다.

CPUfreqd-V7

-f /etc/cpufreqd.conf를 지정해도 출력이 생성되지 않습니다.

누락된 모듈에 문제가 있을 수 있다는 예감이 듭니다. 그러므로:

eulis-sensor.d #lsmod
모듈 크기 사용자
퓨즈 56971 1
cpufreq_ondemand 5203 0
엔비디아 12290458 0
TG3 104688 0
2530575 0
uvc 비디오 52523 0
videodev 61049 1 uvcvideo
v4l2_compat_ioctl32 7103 1 비디오 개발

또 다른 직감에는 커널 옵션이 필요합니다

--- ACPI(고급 구성 및 전원 인터페이스) 지원
  [*] 더 이상 사용되지 않는 /proc/acpi 파일
  [ ] 더 이상 사용되지 않는 power/proc/acpi 디렉토리
   M ACPI 4.0 파워미터
        /sys/kernel/debug/ec를 통한 EC 읽기/쓰기 액세스
  [*] 더 이상 사용되지 않는 /proc/acpi/event 지원
   * AC 어댑터
   * 배터리
  -*- 버튼
  -*- 동영상
   * 팬
  [*] 부두
  * 프로세서
        프로세서 수집기
  * 핫존
  -*- NUMA 지원
  [ ] 디버깅 문
   M PCI 슬롯 감지 드라이버
  -*- 컨테이너 및 모듈 장치(실험용)
   M 지능형 배터리 시스템
        하드웨어 오류 장치
  [ ] ACPI 플랫폼 오류 인터페이스(APEI)

[*] CPU 주파수 스케일링
  [ ] CPUfreq 디버깅 활성화
        CPU 주파수 변환 통계
        기본 CPUFreq 조정기(사용자 공간) --->
   *"성능" 거버너
   *"절전" 속도 조절기
  -*- 사용자 공간 주파수 스케일링을 위한 "사용자 공간" 조정기
   M 'ondemand' CPUfreq 정책 조정기
   * "보수적인" CPUFreq 조정기
  ***CPUFreq 프로세서 드라이버***
        프로세서 클럭 제어 인터페이스 드라이버
   * ACPI 프로세서 P 상태 드라이버
        AMD Opteron/Athlon64 PowerNow!
        Intel Enhanced SpeedStep(더 이상 사용되지 않음)
        Intel Pentium 4 클록 변조
  ***공유 옵션***

지금까지의 상황입니다. 이제 내 질문은: 왜 cpufreq를 더 낮은 주파수로 변경할 수 없는지 설명해 주실 수 있는 분 계십니까? 또는 마찬가지로 흥미로운 점은 이 파일을 어떻게 디버깅합니까 /etc/cpufreqd.conf?

답변1

나는 또한 같은 문제에 직면했습니다. 너무 뜨거워지는 노트북도 있습니다.

나는 그것이 아무것도 하지 않는다고 생각하지만, 나는 cpufreqd -V7을 활성화했고 메시지가 /var/log/messages에 기록되는 것을 보았습니다.

사용하지 않는 일부 규칙을 비활성화하고 "너무 뜨거운" 섹션 3개만 사용했습니다.

[Rule]
name=temp high
sensor=temp6:100-105
cpu_interval=50-100
profile=Powersave Low
[/Rule]

[Rule]
name=temp med
sensor=temp6:95-99
cpu_interval=50-100
profile=Powersave High
[/Rule]

[Rule]
name=temp low
sensor=temp6:87-94
cpu_interval=50-100
profile=Performance Low
[/Rule]

내가 발견한 한 가지 문제는 센서(및 커널)가 온도 센서를 0에서 n까지 보고한다는 것입니다. 여기서 cpufreqd는 1에서 (n+1)까지의 온도 센서를 나타냅니다.

관련 정보