Linux / コマンド / lscpu - CPUのアーキテクチャとコア情報を確認
lscpuは、Linuxが認識したCPUのアーキテクチャ、論理CPU数、コア・ソケット構成、キャッシュ情報を表示します。サーバーの容量や仮想化環境を把握する際の出発点となります。
情報は主にsysfsや/proc/cpuinfoなどから収集されます。CPU(s)はOSに見える論理CPU数であり、物理コア数と同じとは限りません。仮想マシンでは通常、ゲストに提供された構成情報になるため、ホストハードウェアの仕様と区別する必要があります。
基本的な文法
lscpu [オプション]
インストールされている実装とオプションは、配布版によって異なる場合があります。man lscpuで現在のシステムの説明を確認してください。
使用例
CPU概要の確認
アーキテクチャ、論理CPU、ソケット、コアを合わせて確認します。
lscpu
CPUごとのリスト表示
lscpu -eはCPUごとの表を表示し、既定ではオンラインとオフラインのCPUを含みます。ONLINEなどの列で状態を確認します。表示列を固定する場合は、対応列をlscpu --helpで確認してから、例えばlscpu -e=CPU,CORE,SOCKET,ONLINEと指定します。
lscpu -e
キャッシュ情報の確認
キャッシュ階層とサイズの詳細を確認します。複数CPUで共有されるキャッシュもあるため、表示サイズを単純に論理CPU数倍しないでください。古いutil-linuxと現在の実装では集計方法が異なる場合があります。
lscpu -C
論理CPUと物理コアを区別する
lscpuは、カーネルが認識したCPUアーキテクチャと論理CPU数、ソケット・コア・スレッド構成を要約します。
lscpu | head -n 8
例示出力の一部(項目名と値は環境により異なります):
Architecture: x86_64
CPU(s): 8
Thread(s) per core: 2
Core(s) per socket: 4
この例は論理CPUが8個、1コア当たり2スレッド、1ソケット当たり4コアと報告された場合を示します。1ソケットで全コアがオンラインという条件なら4コアに対応しますが、この抜粋だけで実機の物理コア数を断定しないでください。仮想マシンではゲスト向けの構成情報です。コンテナではホストのCPU情報が見えても、実際に使用できるCPUやCPU時間が別に制限される場合があります。現在の使用率はtopによるプロセスとCPU使用率の確認と合わせて判断します。
主なオプションと形式
| オプション・形式 | 説明 |
|---|---|
-e |
CPUごとの詳細情報を表示します。 |
-p |
解析向けの形式で表示します。既定ではオンラインCPUのみを含み、オフラインも含めるときは-aを併用します。 |
-C |
キャッシュ情報を表示します。 |
-a |
オンライン・オフラインCPUを含みます。-eまたは-pと一緒に使用します。 |
-J |
サポートされているバージョンではJSON形式で表示します。 |
使用する際の注意点
コンテナや仮想マシンで表示されるCPU構成は、割り当て量やホストの実際のリソースと異なる場合があります。デフォルトの出力フィールドや並び順はutil-linuxのバージョンによって変わることがあるため、スクリプトでは明示的に列を選択してください。CPU数だけで性能を判断しないでください。
よくある質問
lscpuのCPU(s)は物理コア数ですか?
いいえ。OSに表示されている論理CPU数です。コア・ソケット・スレッドの項目を一緒に読む必要があります。
公式ドキュメント
オプションの正確な動作と実装ごとの違いは、lscpuに関する公式ドキュメントで確認できます。




