I tested CPU frequencies with either the Intel tool i7z
and turbostat
from the linux-tools
package (sudo modprobe msr
, sudo turbostat
) and what I find as maximum frequencies for two different processors is lower as what Intel states as maximum turbo frequency.
I tested with MrBayes MPI on 4 cores with governors ondemand
and performance
and the 'turbo' option using indicator-cpufreq
.
i5-3210M - Intel specifications max. freq.: 2,5GHz - 3,1GHz Turbo
max. measured: 2,89GHz
i5-3470 - Intel specifications: 3,2GHz - 3,6GHz Turbo
max. measured:3,39GHz
I also tried for i in {1..4}; do burnK7 & done
in tty1 and turbostat in tty2 and got the same results.
Why are the max. Turbo CPU frequency I can measure running Ubuntu lower than the ones Intel states? Where are the "missing" 0,21GHz?
Actually as you are running all 4 cores, the maximum frequency won't be achieved as specified. Intel specifies maximum turbo frequency for a single running core.
There are different maximum frequencies achieved for 1 active core and for 4 active cores (to prevent going over TDP) http://www.cpu-world.com/CPUs/Core_i5/Intel-Core%20i5-3210M%20(BGA)%20Mobile%20processor.html
e.g. thus you are getting around 2.9 ghz rather than 3.1
if you look in i7z there is a line specifying //// max multiplier achieved with 1/2/3/4 core. You cannot go above those multipliers if more than some number of cores are active.
also, inactive core need to be in C3 or higher states to allow the active core(s) to get into higher turbo levels.
Your BIOS sets these values so you will have to check with your motherboard vendor. In my case, I can configure it to whatever I want since I have a motherboard meant for overclocking and an unlocked CPU.