すべてのプロダクト
Search
ドキュメントセンター

:/proc/cpuinfo における CPU 周波数の不一致

最終更新日:Jun 23, 2026

カーネル 5.11 以降の最適化により、アイドル状態の CPU は /proc/cpuinfo で 800 MHz と表示されます。正確な周波数の読み取りには、cpupower または turbostat を使用してください。

問題の説明

インスタンスがアイドル状態の場合、/proc/cpuinfo ファイルは一部の CPU の周波数を 800 MHz とレポートすることがあります。この値は、以下に示すように、インスタンス仕様に記載されている周波数とは異なります。

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

このソリューションは、以下のカーネルおよびオペレーティングシステムにも適用されます。

カーネル/オペレーティングシステム

カーネル/オペレーティングシステム

バージョン

Linux カーネル

5.11 以降

Debian

12.0 以降

Fedora

33.0 以上

Red Hat

9.0 以上

AlmaLinux

9.0 以上

CentOS Stream

9.0 以降

SLES/OpenSUSE

15.4 以降

Ubuntu

22.0 以降

Alibaba Cloud Linux

Alibaba Cloud Linux 3

説明

Alibaba Cloud Linux 3 で /proc/cpuinfo を介した CPU 周波数取得を最適化する方法については、「/proc/cpuinfo ファイルを読み取って CPU 周波数を取得する操作の最適化」をご参照ください。

原因

Linux カーネル 5.11 以降、システムパフォーマンスと CPU 応答を向上させるためのパッチ (コミット ID: 3fcd6a230fa7d03bffcb831a81b40435c146c12b) が追加されました。

 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.

/proc/cpuinfo にアクセスすると、rcu_is_idle_cpu 関数は CPU がアイドル状態であるかどうかを確認します。アイドル状態の場合、この関数はデフォルトで 800 MHz の min_freq を返します。一部のカーネルバージョンでは、この min_freq の値が CPU ベース周波数としてレポートされます。

ソリューション

説明

表示されるアイドル状態の周波数は仕様と一致しない場合がありますが、CPU は負荷時に指定された周波数に達するため、実際のパフォーマンスに影響はありません。

正確な周波数の読み取りには、cpupowerturbostat などのツールを使用してください。

例えば、cpupower を実行して周波数を確認します。

sudo cpupower frequency-info

出力は、現在の CPU 周波数が 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
重要

一部のインスタンスタイプでは、この周波数クエリがサポートされていない場合があります。ご利用のインスタンスのベース周波数については、「インスタンスファミリーの概要」をご参照ください。