내 노트북(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_pstate
cpupower
- 현재 드라이버 비활성화:
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
이 커널과 커널은 사용자 공간 거버너가 활성화된 상태로 컴파일되어야 합니다.