I need the CPU speed of my KVM host.

When I am using dmidecode, the result is the following :

sudo dmidecode | egrep "Max Speed|Current Speed"

Max Speed: 3100 MHz

Current Speed: 3100 MHz

Whereas, when I am using lscpu, the result is:

lscpu | grep "MHz".

CPU MHz: 1600.000

So, why there are two different values, and between the two, which is my actual CPU speed?

Additional :

When the /proc/cpuinfo file has the following result for the speed of the individual cores.

cat /proc/cpuinfo | grep "MHz"

cpu MHz : 1600.000

cpu MHz : 1600.000

cpu MHz : 1600.000

cpu MHz : 1600.000

Can anybody explain in details?


CPU speed is 3100 MHz but it is automatically lowered at 1600 MHz when not on high demand. This is done by all CPUs today in order to save power/ reduce heat.

So the CPU speed will vary between 1600 and 3100 depending on the CPU load. If you have something to keep it 90%+ used, it will certainly be at 3100 all the time.

  • But one thing I didn't understand, why the "current speed" value in dmidecode is showing 3100 MHz.It should show 1600 Mhz, right? – Niladri Chakrabarty Mar 4 '15 at 10:49
  • One is the actual read speed (or min value from ROM), the other is read form a permanent ROM as max value. They are the min and max values the speed will vary between. If you want the real speed, get an equivalent of CPU-ID for linux, like CPU-G. A list of tools can be found here: alternativeto.net/software/cpu-z/?platform=linux – Overmind Mar 4 '15 at 11:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.