LinuxサーバーやPCで作業をしていると、「このマシンのCPUは何コアあるの?」「仮想環境か物理マシンか知りたい」など、CPUに関する詳細情報を知りたい場面は多々あります。そんな時に便利なのが、lscpu
コマンドです。シンプルなコマンド一発で、CPUの構成、アーキテクチャ、コア数、スレッド数などをすばやく確認できます。本記事では、lscpu
コマンドの基本的な使い方から、表示される情報の読み方、よく使うオプション、実践的な活用例まで詳しく解説します。LinuxのCPU調査に欠かせないツールをマスターしましょう!
lscpu
は、Linuxに標準搭載されているユーティリティで、CPUに関する詳細情報を一覧形式で表示します。内部的には、/proc/cpuinfo
などの情報を集約して分かりやすく整形した内容を提供してくれるため、システム管理者や開発者にとって非常に便利なコマンドです。
lscpu
は、主に次のような情報を提供します:
ほとんどのディストリビューション(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
で表示される主な項目とその意味を以下に紹介します。
システムのCPUアーキテクチャを示します。多くのマシンではx86_64
(64bit)が表示されます。
システムで認識されている論理CPU(スレッド)の数です。コア数×スレッド数となります。
1つのコアが処理できるスレッド数です。ハイパースレッディングを搭載していれば、2となっていることが多いです。
1つの物理CPUソケット内に搭載されている物理コアの数です。
物理的に搭載されているCPUの数です。デュアルソケット構成のサーバーなどでは2となります。
CPUのメーカー(Intel、AMDなど)と具体的なCPUモデルが表示されます。
仮想化支援機能の有無を表示します。たとえばIntel CPUならVT-x
が有効かどうかが示されます。
lscpu
にはいくつかの便利なオプションもあります。代表的なものを紹介します。
各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形式で表示します。スクリプトやAPIと連携させる際に便利です。
lscpu --json
JSON形式の出力例(簡略):
{
"lscpu": [
{"field": "Architecture:", "data": "x86_64"},
{"field": "CPU(s):", "data": "8"},
...
]
}
lscpu
と似た目的で使われるコマンドとして、以下のようなものがあります。
cat /proc/cpuinfo
top
やhtop
nproc
それぞれのコマンドには得意・不得意があるため、lscpu
はあくまで「構成確認用」として使うのがベストです。
以下のような場面でlscpu
は非常に役立ちます。
VMか物理マシンかを判断したい場合に、Hypervisor vendor
やVirtualization
の項目でヒントが得られます。
スレッド数やソケット数を確認することで、プロセスの並列処理数のチューニングやCPU affinity設定の基礎情報になります。
一部の商用ソフトウェアでは、CPUのコア数やソケット数に応じたライセンス数が必要なことがあります。その確認にlscpu
は最適です。
たとえば、CPU使用率が異常に高いと感じたとき、lscpu
で確認するとCPUが1コアしか認識されていないことが発覚する場合もあります。仮想マシンで仮想CPU数の設定を間違えていた…というのはよくあるトラブル例です。
また、ハードウェアの差し替えやアップグレード後に、期待通りのCPUスペックで認識されているかの確認にも使えます。
lscpu
は、Linux環境でCPUの構成情報を素早く確認するための非常に便利なコマンドです。サーバー管理、トラブルシュート、仮想環境のチェックなど、多くの場面で役立ちます。基本の使い方に加え、オプションや表示項目の意味をしっかり理解しておけば、より高度な情報収集や診断が可能になります。
これからLinux環境を扱う方はもちろん、ベテランの方もぜひ一度、lscpu
を改めて活用してみてください。