What does cpu MHz mean in /proc/cpuinfo?

13,356

That value tells you nothing of what you want to know.

Firstly, the cpu MHz value is subject to variable clock technologies, where the CPU throttles doing low load to save power. For example, your CPU is reported as running at 1200 MHz (1.2 GHz) instead of 2.6 GHz. If you would cat /proc/cpuinfo during high load, it would show a higher value.

Secondly, the MHz number alone tells you nothing about how well the CPU executes code. Virtually all CPUs today are superscalar, meaning that they will execute more than one instruction per cycle, if they can. For this, and other reasons, like cache and pipeline design, the type of CPU you have matters as much as the exact clock frequency.

You were asking "how much time it takes for my laptop to execute a simple instruction". There is a value in /proc/cpuinfo which means approximately that, namely bogomips. This test measures how many "simple instructions" per second the CPU can execute. The test is executed on one core, so you could theoretically multiply this number by 4 for your CPU to get the total number for your CPU.

Note that bogomips is not a benchmark of realworld performance. It tests a very basic capability, how well the CPU can sit around in a loop and do pretty much nothing. However the realworld performance can both be worse (for example if the CPU is stalled because of memory accesses) and better (for example when running calculations using SSE and similar instructions sets.)

Share:
13,356

Related videos on Youtube

aamir
Author by

aamir

Updated on September 18, 2022

Comments

  • aamir
    aamir over 1 year

    I own Quad-core Core i5 laptop. I got curious to know how much time it takes for my laptop to execute a simple instruction. So, I did cat /proc/cpuinfo. Below is the relevant portion of it,

    model name  : Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz
    cpu MHz     : 1200.000
    

    I want to know what exactly does cpu MHz signify? And, is it possible to calculate MIPS from the above data. If yes, how?