コードがコンパイルされるのを待っている端末を見て、IntelのTurbo Boostが実際に動作するかどうか疑問になり始めました。
私i7-4770K定格周波数は3.5GHzで、ターボ加速度は3.9GHzに達することができます。 少し読むTurbo Boostは、あるコアが他のコアよりも多くの作業を行う場合にのみ実際に使用されることがわかりました。したがって、並列コンパイルはすべてのプロセッサコアを使用するため、Turbo Boostは有効になりません。それがすべてです。
しかし、これを調べたとき、私のプロセッサは3.2GHzの最大速度を報告し、4つのコア(8スレッド)がすべてコンパイルされている間、i7zは2.992GHzの最大速度を報告したことがわかりました。基本速度は3.5 GHzでなければなりませんが、なぜこれが起こりますか?
Socket [0] - [physical cores=4, logical cores=8, max online cores ever=4]
TURBO ENABLED on 4 Cores, Hyper Threading ON
Max Frequency without considering Turbo 3091.73 MHz (99.73 x [31])
Max TURBO Multiplier (if Enabled) with 1/2/3/4 Cores is 32x/32x/31x/30x
Real Current Frequency 2992.01 MHz [99.73 x 30.00] (Max of below)
Core [core-id] :Actual Freq (Mult.) C0% Halt(C1)% C3 % C6 % C7 % Temp VCore
Core 1 [0]: 2992.01 (30.00x) 100 1 0 0 0 54 0.9540
Core 2 [1]: 2992.00 (30.00x) 100 1 0 0 0 59 0.9515
Core 3 [2]: 2992.00 (30.00x) 100 1 0 0 0 57 0.9517
Core 4 [3]: 2992.00 (30.00x) 100 1 0 0 0 56 0.9540
$ cat /proc/cpuinfo
model name : Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz
cpu MHz : 3000.351
$ cat /sys/bus/cpu/devices/cpu0/cpufreq/cpuinfo_max_freq
3200000
powersave
cpufreqガバナーをからに変更してみましたが、報告されたperformance
最大速度は依然として3.2GHzに過ぎず、i7zはプロセッサが最大ロード時に2992MHzで実行されていることを報告します。 (ほとんどの時間はアイドル状態ですが、3.1 GHzよりわずかに高い速度でクロックされます。)
プロセッサ周波数を3.5 GHzに設定するように調整できる設定オプションはありますか? CPUが遅くなる他の理由はありますか?アイドル温度は50度未満で、長いコンパイル中でも65度を超えることを見たことがないので、温度は問題になりません。
答え1
問題は、最初のインストール時にBIOSがCPUを正しく検出できなかったことが判明し、BIOS設定をデフォルト値にリセットすると問題が解決しました。
これはIntelサポートチームによって提案されたもので、驚くべきことに実際に機能します。したがって、優れたVisualBIOSは、既存のBIOS設定と同じくらい問題があるようです。
リセット後、i7zは期待どおりに1/2/3/4コアに対して39x/38x/37x/37xの倍率を表示しますが、IntelのTurbo Boostの最大速度はシングルコアが有効になっている場合にのみ適用されるという事実を認識していませんでした。
BIOS設定でターボ乗数を調整しました(ヒント:キーボードナビゲーションを使用すると、マウスで選択できない設定にアクセスできます)。 45に設定すると、i7zはターボ乗数を45x / 45x / 45x / 45xとして報告します。ただし、4つのコアが有効な場合、乗数はまだ37倍を超えないため、この設定は増やすことはできず、減らすことができるように見えます。恥ずかしい!