CPUが高い周波数で動作しない理由を理解しようとしています( related link )
最小値と最大値が定義されたときに、有効な値が最終的にその範囲から外れる可能性があることを誰かが説明できますか?
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
3267000
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
3300000
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
1199960
$ 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.30 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 3.27 GHz and 3.30 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 1.20 GHz.
boost state support:
Supported: yes
Active: yes
25500 MHz max turbo 4 active cores
25500 MHz max turbo 3 active cores
25500 MHz max turbo 2 active cores
25500 MHz max turbo 1 active cores
また、誰かがcpuinfo_cur_freq
とscaling_cur_freq
の違いを説明できますか?
問題を解決するために開いた関連の問題(ここで言及されていない有用な追加情報が含まれている場合があります)
追加情報:
$ Sudo rdmsr -a 0x19a
0
0
0
0
rdmsr: No CPU 4
プロセッサによって異なりますが、あなたの場合、cpuinfo_cur_freq
とscaling_cur_freq
は同じものです。
一部のプロセッサでは、cpuinfo_cur_freq
にハードウェア読み取りが含まれ、時間の面で「高価」になることがあります。これが、アクセスにSudo
を必要とする理由です。
CPU周波数は、設定した制限を超えている可能性があります。これは、負荷が十分に軽い場合、要求内容に関係なく、プロセッサ自体がPLL(位相ロックループ)でバックオフできるためです。実際に実行する作業がある場合、CPU周波数が非常に速くスピンアップすることを心配しないでください。あなたの場合、パフォーマンスガバナーを使用しています。これにより、CPU周波数のランプアップ時間が可能な限り速くなります。
あなたが参照した他の質問について、そして私があちらで言及したように、クロック変調が関係していると思います。これはintel_pstate CPU周波数ドライバの問題です。クロック変調が有効になっているかどうかを確認または拒否するには、この結果を質問に追加してください。
$ Sudo modprobe msr
$ Sudo rdmsr -a 0x19a
パッケージmsr-tools
がrdmsrプリミティブに必要であることに注意してください。提供された情報をデコードします。