Linux – What are the frequencies displayed in /proc/cpuinfo

cpucpu-frequencylinuxproc

I have a quad core cpu (core i7 7700) with hyperthreading.

cat /proc/cpuinfo | grep MHz

returns 8 different frequencies, some of which are not repeated (for example I can get a single value of 3914.208 MHz). So it does look like the displayed values are the frequencies of each thread, and these frequencies need not to be equal by pairs. Is this possible? In other words, is it possible that 2 threads of a single core have different frequencies (on IRC I'm told that no and they are saying this behavior is very strange, hence my question here). If not, then what are the displayed frequencies?

Here is a real output of the above command:

cpu MHz     : 799.804
cpu MHz     : 861.987
cpu MHz     : 1178.613
cpu MHz     : 867.260
cpu MHz     : 3418.066
cpu MHz     : 800.024
cpu MHz     : 1302.539
cpu MHz     : 799.804

Edit : With

cat /proc/cpuinfo 

I can see that the MHz corresponds to core 0, 1, 2, 3, 0, 1, 2 and 3 in that order. So, like Hamza Jabbour says, it's the frequency of each thread (also called logical core).

I'd like to know whether it's possible that each thread have its own frequency and whether /proc/cpuinfo gather the data about frequency in more than 1 cpu cycle (which could make the frequency of virtual cores not matching by pairs, I think.)

Best Answer

This is the frequency of your cores, and you have cores which run with the minimum frequency, and other more stressed which run with higher frequency.

You can have more information and explanation with the lscpu utility.