Linux – How to the cpu frequency be above maximum MHz value in lscpu

cpucpu-frequencylinuxlscpunode.js

How can it be, that my current cpu frequency (CPU MHz) for my Intel Core2 Duo T9400M is above max MHz while being on high load?

➜ lscpu
[...]
Model name:          Intel(R) Core(TM)2 Duo CPU     T9400M  @ 2.53GHz
Stepping:            10
CPU MHz:             2606.581
CPU max MHz:         2534.0000
CPU min MHz:         800.0000
[...]

This isn't limited to lscpu: I get similar values out of /proc/cpuinfo:

➜ bat /proc/cpuinfo
[...]
model name  : Intel(R) Core(TM)2 Duo CPU     T9400  @ 2.53GHz
cpu MHz     : 2635.237
[...]

I found this out while looking over the Node.js documentation and finding, that the current speed value of os.cpus() – even in the example of the documentation – is above the maximum CPU speed according to the model:

[
  {
    model: 'Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz',
    speed: 2926,
[...]

Best Answer

In both cases, your CPU can run slightly faster than its specified frequency, typically when one of its cores is running a CPU-intensive process, and the others aren’t. On your Core 2 Mobile system, this was provided by Intel Dynamic Acceleration; on the Core i7, by Turbo Boost.

The exact details vary from one processor to another. Earlier CPUs could only boost one core, but nowadays multiple cores can be boosted. The CPU ensures it stays within a certain power and thermal envelope.

Related Question