All Products
Search
Document Center

:CPU frequency discrepancy in /proc/cpuinfo

Last Updated:Jun 20, 2026

Idle CPUs show 800 MHz in /proc/cpuinfo due to a kernel 5.11+ optimization. Use cpupower or turbostat for accurate frequency readings.

Problem description

When an instance is idle, the /proc/cpuinfo file might report a CPU frequency of 800 MHz for some CPUs. This value differs from the frequency listed in the instance specification, as shown below.

cpu MHz		: 800.000
cpu MHz		: 800.000
cpu MHz		: 800.000
cpu MHz		: 2996.976
cpu MHz		: 800.000
cpu MHz		: 800.000
cpu MHz		: 800.000
cpu MHz		: 800.000
cpu MHz		: 800.000
cpu MHz		: 800.000
cpu MHz		: 800.000
cpu MHz		: 800.000
cpu MHz		: 3192.046
cpu MHz		: 800.000
cpu MHz		: 3200.000
cpu MHz		: 800.000
cpu MHz		: 2975.717
cpu MHz		: 800.000
cpu MHz		: 3005.653
cpu MHz		: 800.000
cpu MHz		: 800.000
cpu MHz		: 800.000
cpu MHz		: 800.000
cpu MHz		: 800.000
cpu MHz		: 800.000
cpu MHz		: 800.000
cpu MHz		: 800.000

This solution also applies to the following kernels and operating systems:

Kernel/Operating System

Kernel/Operating System

Version

Linux kernel

5.11 and above

Debian

12.0 and above

Fedora

33.0 and above

Red Hat

9.0 and above

AlmaLinux

9.0 and above

CentOS Stream

9.0 and above

SLES/OpenSUSE

15.4 and above

Ubuntu

22.0 and above

Alibaba Cloud Linux

Alibaba Cloud Linux 3

Note

For information about optimizing CPU frequency retrieval through /proc/cpuinfo in Alibaba Cloud Linux 3, see Optimize the operation of reading the /proc/cpuinfo file to obtain the CPU frequency.

Cause

Starting with Linux kernel 5.11, a patch (commit ID: 3fcd6a230fa7d03bffcb831a81b40435c146c12b) was added to improve system performance and CPU response.

 x86/cpu: Avoid cpuinfo-induced IPIing of idle CPUs
    Currently, accessing /proc/cpuinfo sends IPIs to idle CPUs in order to
    learn their clock frequency.  Which is a bit strange, given that waking
    them from idle likely significantly changes their clock frequency.
    This commit therefore avoids sending /proc/cpuinfo-induced IPIs to
    idle CPUs.

When /proc/cpuinfo is accessed, the rcu_is_idle_cpu function checks whether the CPU is idle. If so, it returns min_freq, which defaults to 800 MHz. Some kernel versions report this min_freq value as the CPU base frequency.

Solution

Note

The idle-state frequency displayed may not match the specification, but actual performance is unaffected because the CPU still reaches its specified frequency under load.

For accurate frequency readings, use tools such as cpupower or turbostat.

For example, run cpupower to check the frequency:

sudo cpupower frequency-info

The output shows that the current CPU frequency is 3.20 GHz.

[ecs-user@iZ2zxxx187kyZ ~]$ sudo cpupower frequency-info
analyzing CPU 0:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 800 MHz - 3.80 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 800 MHz and 3.80 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 3.20 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
Important

Some instance types may not support this frequency query. See Instance family overview for the base frequency of your specific instance.