“userspace”cpufreq 조정기를 사용할 수없고 cpu 주파수를 설정할 수 없습니다


22

랩톱 (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 cpufreq@vger.kernel.org, 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

처음에는 userspace governor를 커널에 내장했지만 모듈로 빌드하려고했습니다 (같은 결과). 위의 명령을 실행하는 동안로드되었으며로드 할 때 시스템 메시지를 찾을 수 없었습니다.

# 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?

어떤 아이디어?


@ don_crissti 고마워, 나는 echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo인스턴트 커널 패닉을 시도 하고 얻었습니다 intel_pstate=disable. Btw, 귀하의 의견을 답변으로 만들어보십시오.
aditsu

@don_crissti 나는 cpupower에 대해 몰랐다; 다소 불쾌한 구문이 있지만 cpufreq보다 더 잘 작동하는 것 같습니다. 나는 지금 주파수를 설정할 수 있습니다 :) 고마워하고 답변을 게시해야합니다 (정말 포인트를 원하지 않는 한).
aditsu

답변:


41

시스템에서이라는 새 드라이버를 사용하고 있기 때문 intel_pstate입니다. 이 드라이버를 사용할 때는 두 가지 관리자 만 사용할 수 있습니다 : powersaveperformance.
관리자 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

고마워, btw, 주파수 설정 없이도 같은 일을하는 것 같습니다--cpu all
aditsu

3
구형 드라이버를 사용하면 몇 가지 단점이 있습니다. 그들은 무엇인가?
kontextify

2
@kontextify 더 행복한 사용자, 새로운 릴리스를 테스트하기 위해 자발적으로 랩 쥐 역할을하는 경향이 적습니다.
Mephisto

0

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

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

이것과 커널은 userspace governor가 활성화 된 상태에서 컴파일해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.