I mean to determine the clock speed. I am posting below the output of the various commands listed here.
For the max freq, I see 4 different sources, with 2 different values:
CPU max MHz: 3300,0000
fromlscpu
.capacity: 3300MHz
fromlshw
.capacity: 3800MHz
fromsudo lshw
.Max Speed: 3800 MHz
fromdmidecode
.
For the current freq, I see 4 different sources, with roughly 3 different values:
CPU MHz: 2100.000
fromlscpu
.cpu MHz : 1691
(averaged by me) fromcat /proc/cpuinfo
.Current Speed: 2600 MHz
fromdmidecode
.Detected 2594.332 MHz processor
fromcat /var/log/dmesg
.
My observations:
- There was a wide variation in the output obtained, for both the max freq and current freq. How to make sense of this?
For instance,
lshw
gives different results with or withoutsudo
. Is this expected? Which should be considered more reliable, and why? - The clock speed was even different among the 4 processors. Is such a wide variation expected?
Note: As appropriately asked by @hobbs, this OP was motivated by the need for understanding the relation between "Clock speed" (whichever variant corresponds), CPU freq spec, and memory speed spec (here there is also possibly more than one value, see e.g. dmidecode showing Memory Module Voltage: 3.3 V for DDR3 RAM).
Output:
$ lscpu | grep "MHz"
CPU MHz: 2100.000
CPU max MHz: 3300,0000
CPU min MHz: 1200,0000
$ cat /proc/cpuinfo | grep "MHz"
cpu MHz : 1753.417
cpu MHz : 1200.000
cpu MHz : 2212.235
cpu MHz : 1600.000
$ lshw -c cpu | grep capacity
WARNING: you should run this program as super-user.
capacity: 3300MHz
$ sudo lshw -c cpu | grep capacity
capacity: 3800MHz
$ sudo dmidecode -t processor | grep "Speed"
Max Speed: 3800 MHz
Current Speed: 2600 MHz
$ cat /var/log/dmesg | grep "MHz processor"
[ 0.000000] kernel: tsc: Detected 2594.332 MHz processor
$ cat /var/log/kern.log | grep "MHz processor"