"사용자 공간" cpufreq 거버너를 사용할 수 없으며 CPU 주파수를 설정할 수 없습니다.

"사용자 공간" cpufreq 거버너를 사용할 수 없으며 CPU 주파수를 설정할 수 없습니다.

내 노트북(Linux 실행)에서 CPU 주파수를 변경하려고 하는데 성공하지 못했습니다.
다음은 몇 가지 세부정보입니다.

# uname -a
Linux yoga 3.12.21-gentoo-r1 #4 SMP Thu Jul 10 17:32:31 HKT 2014 x86_64 Intel(R) Core(TM) i5-3317U CPU @ 1.70GHz GenuineIntel GNU/Linux

# cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to [email protected], please.
analyzing CPU 0:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 0.97 ms.
  hardware limits: 800 MHz - 2.60 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 800 MHz and 2.60 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 2.42 GHz (asserted by call to hardware).
(similar information for cpus 1, 2 and 3)

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
performance powersave

원래는 사용자 공간 조정기를 커널에 구축했지만, 이를 모듈로 구축하려고 시도했습니다(동일한 결과). 위 명령을 실행할 때 로드되었습니다(로드할 때 시스템 메시지를 찾을 수 없었습니다).

# lsmod
Module                  Size  Used by
cpufreq_userspace       1525  0
(some other modules)

주파수를 변경하려는 명령은 다음과 같습니다.

# cpufreq-set -f 800MHz
Error setting new values. Common errors:
- Do you have proper administration rights? (super-user?)
- Is the governor you requested available and modprobed?
- Trying to set an invalid policy?
- Trying to set a specific frequency, but userspace governor is not available,
   for example because of hardware which cannot be set to a specific frequency
   or because the userspace governor isn't loaded?

# cpufreq-set -g userspace  
Error setting new values. Common errors:
- Do you have proper administration rights? (super-user?)
- Is the governor you requested available and modprobed?
- Trying to set an invalid policy?
- Trying to set a specific frequency, but userspace governor is not available,
   for example because of hardware which cannot be set to a specific frequency
   or because the userspace governor isn't loaded?

어떤 아이디어가 있나요?

답변1

이는 시스템이 다음과 같은 새로운 드라이버를 사용하고 있기 때문입니다.intel_pstate. 이 드라이버를 사용할 때는 두 개의 거버너( powersave및 ) 만 사용할 수 있습니다 performance. 거버너는
이전 userspace드라이버에서만 작동합니다. acpi-cpufreq시작 시 거버너를 비활성화하면 거버너가 자동으로 사용됩니다. 그런 다음 다음을 사용하여 거버너/주파수를 설정합니다.intel_pstatecpupower

  • 현재 드라이버 비활성화: intel_pstate=disable커널 부팅 라인에 추가
  • userspace모듈을 시작한 다음 로드합니다 .modprobe cpufreq_userspace
  • 거버너 설정:cpupower frequency-set --governor userspace
  • 주파수 설정:cpupower --cpu all frequency-set --freq 800MHz

답변2

대답은 귀하의 질문에 있습니다.

for core in $(seq 0 "$(($(getconf _NPROCESSORS_ONLN) - 1))"); do
echo {performance|powersave} >/sys/devices/system/cpu/cpu$core/cpufreq/scaling_governor ;
done

이 커널과 커널은 사용자 공간 거버너가 활성화된 상태로 컴파일되어야 합니다.

관련 정보