Lenovo Y50-70でkubuntu 15.10を実行していますが、CPUクロックに非常に迷惑な問題があります:コンピューターがスリープ状態から再開するたびに、CPUクロックの最大値が低くなります。再開するたびに、最初の3.6 GHzから約600 MHzに下がるまで、クロックは遅くなります。
alain@alain-Y50-70:~$ Sudo -i
[Sudo] password for alain:
root@alain-Y50-70:~# cpupower frequency-info
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 - 3.60 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 3.60 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 817 MHz (asserted by call to hardware).
boost state support:
Supported: yes
Active: yes
root@alain-Y50-70:~# cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
100
root@alain-Y50-70:~# cpupower frequency-info
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 - 3.60 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 2.88 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 800 MHz (asserted by call to hardware).
boost state support:
Supported: yes
Active: yes
root@alain-Y50-70:~# cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
80
root@alain-Y50-70:~# cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
60
root@alain-Y50-70:~# cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
40
root@alain-Y50-70:~# cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
40
root@alain-Y50-70:~# cpupower frequency-info
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 - 3.60 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 1.44 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 699 MHz (asserted by call to hardware).
boost state support:
Supported: yes
Active: yes
root@alain-Y50-70:~# cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
40
root@alain-Y50-70:~# cpupower frequency-info
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 - 3.60 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 1.44 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 605 MHz (asserted by call to hardware).
boost state support:
Supported: yes
Active: yes
root@alain-Y50-70:~#
上記のコマンド間でコンピューターをスリープ状態にします。ご覧のとおり、最初にmax_perf_pct
は40に達するまで段階的に減少し、その後40のままですが、クロック速度は減少し続けます。ラップトップが接続されているかどうかは関係なく、温度は正常です。
これはこのバグに関連していると思われます。 https://bugzilla.kernel.org/show_bug.cgi?id=90421
最大の問題は、最大クロックを手動で3.6 GHzに戻す方法が見つからないことです。最初にcpupower frequency-set -u 3.60GHz
を試しました:
root@alain-Y50-70:~# cpupower frequency-set -u 3.60GHz
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
Setting cpu: 4
Setting cpu: 5
Setting cpu: 6
Setting cpu: 7
root@alain-Y50-70:~# cpupower frequency-info
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 - 3.60 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 1.44 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 699 MHz (asserted by call to hardware).
boost state support:
Supported: yes
Active: yes
root@alain-Y50-70:~# cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
40
しかし、 Intel P-Stateドライバー が使用されているため、これは間違った方法のようです。そのため、効果なしでecho 100 >/sys/devices/system/cpu/intel_pstate/max_perf_pct
を試しました
root@alain-Y50-70:~# echo 100 >/sys/devices/system/cpu/intel_pstate/max_perf_pct
root@alain-Y50-70:~# cpupower frequency-info
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 - 3.60 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 1.44 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 700 MHz (asserted by call to hardware).
boost state support:
Supported: yes
Active: yes
root@alain-Y50-70:~# cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
40
performance
ガバナーも試しましたが、成功しませんでした。
最大クロック周波数を3.6 GHzに戻すにはどうすればよいですか?
発生している問題は何度も報告されています。
このbugzillaバグレポート を参照してください。
この問題は、カーネルツリー内の特定のコミットに限定されています。このコミットは、以前の安定したカーネルバージョンにもバックポートされています。
ただし、実際の根本的な原因はLenovo BIOSの問題です。 linux-pm電子メールスレッドからの引用:
BIOSは偽のパッシブトリップポイント値を報告します。これは摂氏0度です。この偽のBIOSを回避するには、トリップポイント値を確認して無効なトリップポイントを無効にする必要があります。
1つまたは2つのバージョンに戻ると、Lenovoは正常に動作します(4.2.0-19は正常に動作することが確認されています)。
バッテリーが30%を下回らない限り、問題はクロック変調(レジスタ0x19A)に関係しません(未確認ですが、疑わしい)。
参照:
http://ubuntuforums.org/showthread.php?t=2316101
奇妙なcpufreqスケーリングの問題:ガバナーに関係なく、最大cpufreqはウェイクアップ時に徐々に低下します
バッテリーが30%未満の場合、i3は500Mhzで調整
http://marc.info/?t=145816738700001&r=1&w=2