While staring at a terminal waiting for my code to compile, I started to wonder whether Intel's Turbo Boost was actually working.
I have an i7-4770K which is rated at 3.5GHz, with Turbo Boost up to 3.9GHz. Doing some reading I discovered that Turbo Boost is only really used when one core is doing more work than the others, so as compiling in parallel uses all the processor cores, Turbo Boost won't activate for me - so much for that.
However while I was investigating this, I noticed that my processor was reporting its maximum speed as 3.2GHz, and while all four cores (eight threads) were compiling, the maximum speed reported by i7z is only 2.992GHz. Why would this be, when the base speed is supposed to be 3.5GHz?
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
I tried changing the cpufreq governor from powersave
to performance
but still the maximum speed is reported at only 3.2GHz, and i7z only reports the processors running at 2992MHz at full load. (They do go just above 3.1GHz while mostly idle though.)
Are there any configuration options I can adjust to get the processor up to 3.5GHz? Are there any other reasons why the CPU might be slowing down? Idle temperatures are just below 50 degrees and I've never seen it go above 65, even when compiling for a long time, so temperature shouldn't be a problem.