Categories: linux

LinuxのCPU情報を簡単に取得!lscpuコマンドの使い方と活用例

LinuxサーバーやPCで作業をしていると、「このマシンのCPUは何コアあるの?」「仮想環境か物理マシンか知りたい」など、CPUに関する詳細情報を知りたい場面は多々あります。そんな時に便利なのが、lscpuコマンドです。シンプルなコマンド一発で、CPUの構成、アーキテクチャ、コア数、スレッド数などをすばやく確認できます。本記事では、lscpuコマンドの基本的な使い方から、表示される情報の読み方、よく使うオプション、実践的な活用例まで詳しく解説します。LinuxのCPU調査に欠かせないツールをマスターしましょう!


lscpuコマンドとは?

lscpuは、Linuxに標準搭載されているユーティリティで、CPUに関する詳細情報を一覧形式で表示します。内部的には、/proc/cpuinfoなどの情報を集約して分かりやすく整形した内容を提供してくれるため、システム管理者や開発者にとって非常に便利なコマンドです。

lscpuは、主に次のような情報を提供します:

  • CPUアーキテクチャ(x86_64など)
  • コア数、スレッド数
  • CPUモデル、ベンダー名
  • 仮想化の有無
  • キャッシュサイズ
  • NUMAノード情報

ほとんどのディストリビューション(Ubuntu、CentOS、Debianなど)にプリインストールされており、追加インストール不要です。


基本的な使い方

lscpuの最も基本的な使い方は以下の通りです。

lscpu

このコマンドを入力するだけで、CPUの詳細情報がずらりと表示されます。たとえば以下のような出力になります:

Architecture:        x86_64  
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
Vendor ID: GenuineIntel
Model name: Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz
CPU MHz: 2112.004

それぞれの項目の意味は、次のセクションで詳しく見ていきましょう。


表示項目の解説

lscpuで表示される主な項目とその意味を以下に紹介します。

Architecture(アーキテクチャ)

システムのCPUアーキテクチャを示します。多くのマシンではx86_64(64bit)が表示されます。

CPU(s)(CPU数)

システムで認識されている論理CPU(スレッド)の数です。コア数×スレッド数となります。

Thread(s) per core(1コアあたりのスレッド数)

1つのコアが処理できるスレッド数です。ハイパースレッディングを搭載していれば、2となっていることが多いです。

Core(s) per socket(ソケットあたりのコア数)

1つの物理CPUソケット内に搭載されている物理コアの数です。

Socket(s)(CPUソケット数)

物理的に搭載されているCPUの数です。デュアルソケット構成のサーバーなどでは2となります。

Vendor ID / Model name(ベンダーとモデル名)

CPUのメーカー(Intel、AMDなど)と具体的なCPUモデルが表示されます。

Virtualization(仮想化)

仮想化支援機能の有無を表示します。たとえばIntel CPUならVT-xが有効かどうかが示されます。


オプションの活用法

lscpuにはいくつかの便利なオプションもあります。代表的なものを紹介します。

-e または --extended

各CPU(スレッド)ごとの情報をテーブル形式で表示します。プロセッサのID、ソケット番号、コア番号などを詳細に確認できます。

lscpu -e

出力例:

CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE  
0 0 0 0 0:0:0:0 yes
1 0 0 1 1:1:1:0 yes
...

--json

出力をJSON形式で表示します。スクリプトやAPIと連携させる際に便利です。

lscpu --json

JSON形式の出力例(簡略):

{
"lscpu": [
{"field": "Architecture:", "data": "x86_64"},
{"field": "CPU(s):", "data": "8"},
...
]
}

他のコマンドとの違い

lscpuと似た目的で使われるコマンドとして、以下のようなものがあります。

  • cat /proc/cpuinfo
    詳細な情報が得られますが、表示が長く読みづらい場合があります。
  • tophtop
    CPU使用率などのリアルタイムな情報には向いていますが、構成情報の取得には向きません。
  • nproc
    システムで利用可能な論理CPUの数だけを知りたいときに使えます(出力は数字のみ)。

それぞれのコマンドには得意・不得意があるため、lscpuはあくまで「構成確認用」として使うのがベストです。


実際の活用シーン

以下のような場面でlscpuは非常に役立ちます。

仮想環境の確認

VMか物理マシンかを判断したい場合に、Hypervisor vendorVirtualizationの項目でヒントが得られます。

サーバーのパフォーマンスチューニング

スレッド数やソケット数を確認することで、プロセスの並列処理数のチューニングやCPU affinity設定の基礎情報になります。

ライセンス制限やアプリ要件確認

一部の商用ソフトウェアでは、CPUのコア数やソケット数に応じたライセンス数が必要なことがあります。その確認にlscpuは最適です。


トラブル時の活用例

たとえば、CPU使用率が異常に高いと感じたとき、lscpuで確認するとCPUが1コアしか認識されていないことが発覚する場合もあります。仮想マシンで仮想CPU数の設定を間違えていた…というのはよくあるトラブル例です。

また、ハードウェアの差し替えやアップグレード後に、期待通りのCPUスペックで認識されているかの確認にも使えます。


まとめ

lscpuは、Linux環境でCPUの構成情報を素早く確認するための非常に便利なコマンドです。サーバー管理、トラブルシュート、仮想環境のチェックなど、多くの場面で役立ちます。基本の使い方に加え、オプションや表示項目の意味をしっかり理解しておけば、より高度な情報収集や診断が可能になります。

これからLinux環境を扱う方はもちろん、ベテランの方もぜひ一度、lscpuを改めて活用してみてください。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。