CPUpower가 안정적으로 작동하지 않습니다.

CPUpower가 안정적으로 작동하지 않습니다.

이 주제에 대한 나의 마지막 질문 이후:'userspace' cpufreq 거버너를 사용할 수 없으며 CPU 주파수를 설정할 수 없습니다., 커널을 몇 번 업그레이드한 후 또 다른 문제에 직면했습니다. cpupower가 CPU 주파수를 안정적인 방식으로 표시하고 설정하지 않는 것 같습니다.

먼저 몇 가지 정보는 다음과 같습니다.

# uname -a
Linux yoga 4.0.5-gentoo #3 SMP Tue Jul 21 08:43:04 HKT 2015 x86_64 Intel(R) Core(TM) i5-3317U CPU @ 1.70GHz GenuineIntel GNU/Linux

# cpupower frequency-info                                 
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 782 MHz - 1.70 GHz
  available frequency steps: 1.70 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz, 782 MHz
  available cpufreq governors: conservative, ondemand, powersave, userspace, performance
  current policy: frequency should be within 782 MHz and 1.70 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 1.70 GHz (asserted by call to hardware).
  cpufreq stats: 1.70 GHz:90.12%, 1.70 GHz:0.00%, 1.60 GHz:0.64%, 1.50 GHz:0.00%, 1.40 GHz:0.00%, 1.30 GHz:0.00%, 1.20 GHz:0.00%, 1.10 GHz:0.00%, 1000 MHz:0.00%, 900 MHz:0.00%, 800 MHz:0.00%, 782 MHz:9.25%  (267)
  boost state support:
    Supported: yes
    Active: yes
    2400 MHz max turbo 4 active cores
    2400 MHz max turbo 3 active cores
    2400 MHz max turbo 2 active cores
    2600 MHz max turbo 1 active cores

이제 이상한 점은 다음과 같습니다.

# cpupower frequency-info|grep -P "The governor|CPU frequency"
                  The governor "performance" may decide which speed to use
  current CPU frequency is 1.70 GHz (asserted by call to hardware).

# grep MHz /proc/cpuinfo
cpu MHz         : 1701.000
cpu MHz         : 1701.000
cpu MHz         : 1701.000
cpu MHz         : 1701.000

# cpupower frequency-set -f 800
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3

# cpupower frequency-info|grep -P "The governor|CPU frequency"
                  The governor "userspace" may decide which speed to use
  current CPU frequency is 1.70 GHz (asserted by call to hardware).

# grep MHz /proc/cpuinfo
cpu MHz         : 782.000
cpu MHz         : 782.000
cpu MHz         : 782.000
cpu MHz         : 782.000

# cpupower frequency-set -f 1700
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3

# cpupower frequency-info|grep -P "The governor|CPU frequency"
                  The governor "userspace" may decide which speed to use
  current CPU frequency is 1.70 GHz (asserted by call to hardware).

# grep MHz /proc/cpuinfo                                      
cpu MHz         : 782.000
cpu MHz         : 782.000
cpu MHz         : 782.000
cpu MHz         : 782.000

# cpupower frequency-set -g performance
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3

# cpupower frequency-info|grep -P "The governor|CPU frequency"
                  The governor "performance" may decide which speed to use
  current CPU frequency is 1.70 GHz (asserted by call to hardware).

# grep MHz /proc/cpuinfo
cpu MHz         : 1701.000
cpu MHz         : 1701.000
cpu MHz         : 1701.000
cpu MHz         : 1701.000

결론적으로:

  1. 주파수를 800으로 설정하면 cpupower는 이를 782로 설정하고 여전히 1700이라고 말합니다.(하드웨어를 호출하여 확인됨!)
  2. 주파수를 다시 1700으로 설정하면 cpupower는 아무 작업도 수행하지 않습니다(여전히 1700으로 표시됨).
  3. 거버너를 "성능"으로 설정하면 cpupower가 결국 주파수를 1700으로 설정하게 됩니다.

CPUPower를 안정적으로 작동시키는 방법이 있습니까? 아니면 버그인가요?

답변1

좋아요, 좀 당황스럽네요... 질문을 게시한 직후에 더 자세한 내용을 조사하기 시작했고 기본 단위가 kHz인 것 같기 때문에 실제로 숫자에 "MHz"를 추가해야 한다는 사실을 발견했습니다.

이제 명령 cpupower frequency-set -f 800MHz과 명령이 cpupower frequency-set -f 1700MHz안정적으로 작동하고 cpupower frequency-info예상된 정보를 표시하는 것으로 보입니다.

한 가지 설명되지 않는 점은 cpupower frequency-info실제 주파수가 782MHz일 때 1.70GHz로 읽는다는 점입니다. .cpupower frequency-set -f 782MHz

관련 정보