743 words
4 minutes
【Unix】lscpuコマンドの解説
最終更新:2025-02-22
lscpuコマンドは、Linuxシステム上のCPUに関する詳細情報を表示するコマンドである。CPUアーキテクチャや論理コア数、物理コア数、スレッド数、キャッシュやサポート機能などを簡単に把握できるため、システムのハードウェア構成を確認する際に有用である。
主なオプション
-e,--extended: CPUの番号やコア、ソケットなどの情報を、列形式(コロン区切り)で詳細に表示する。-p,--parse: 指定フォーマットでCPU情報を解析しやすい形式(全項目を1行で)で表示する。-x,--hex: いくつかの数値を10進数だけでなく16進数でも表示する。-J,--json: JSON形式で出力する。スクリプトなどでパースする場合に便利である。-h,--help:lscpuコマンドの各オプションや使用方法を表示する。
以下の例を参考に、必要に応じてオプションを組み合わせて利用する。
出力結果の主な項目と解釈
Architecture: システムが使用しているCPUアーキテクチャ(例:x86_64,aarch64)。CPU(s): 論理CPUの総数。ハイパースレッディングなどが有効な場合、物理コア数より大きくなる。Thread(s) per core: 1つの物理コアあたりのスレッド数。ハイパースレッディングが有効なIntel CPUでは通常2と表示される。Core(s) per socket: 1つのソケットに含まれる物理コア数。Socket(s): CPUソケットの数。サーバーマシンなどでは複数ソケットを搭載している場合がある。Model name: CPUのモデル名。性能や世代による違いを把握するのに役立つ。CPU MHz: CPUの現在の動作周波数。動的に変化するため、あくまで目安である。Flags: CPUがサポートしている機能フラグ。仮想化関連(vmx/svmなど)や拡張命令セット(sseやavxなど)の確認に用いられる。
ハンズオン
CPU情報の基本表示
以下のコマンドで、CPUに関する基本的な情報を一覧表示する。lscpu実行結果には、アーキテクチャやコア・スレッド数、キャッシュサイズなどが含まれるので、必要に応じて解釈する。
詳細なCPU情報を列形式で表示する
CPUごとにソケット番号やコア番号を一覧で比較しやすい形式で表示したい場合は、次の例のように--extendedオプションを利用する。lscpu --extended各CPUのID、ソケット番号、コア番号、CPUオンライン状態などを表形式で確認できる。
grepなどと組み合わせて特定の情報を抽出する
大きな出力から必要な情報のみを見つけたいときは、パイプでgrepコマンドなどを組み合わせると便利である。lscpu | grep -E 'Architecture|CPU\(s\)|Thread|Core'これにより、CPUのアーキテクチャやコア数、スレッド数など一部の行だけが抽出される。
JSON形式など別形式で出力する
スクリプトやプログラムで解析しやすい出力が必要な場合は、以下のようにJSON形式での出力を行う。lscpu --json
【Unix】lscpuコマンドの解説
https://ss0832.github.io/posts/20250222_lscpu_command_explanation/