名前

lscpu - CPU アーキテクチャーに関する情報を表示する

書式

lscpu [options]

説明

lscpu は、 CPU アーキテクチャーに関する情報を、 sysfs/proc/cpuinfo、 利用可能なアーキテクチャー固有のライブラリ (たとえば Powerpc 上の librtas) を利用して収集する。 コマンドの出力結果は、 解析しやすさや読みやすさを考慮して、 最適化される。 出力情報には、 たとえば以下のものがある。 CPU 数、 スレッド数、 コア数、 ソケット数、 NUMA (Non-Uniform Memory Access) ノード数。 その他にも、 CPU キャッシュ、 キャッシュ共有、 ファミリー、 モデル、 bogoMIPS、 バイトオーダー、 ステッピング、 といった情報も含まれる。

端末への出力書式のデフォルトは、 変更される可能性があり、 よりわかりやすくなるように最適化されるかもしれない。 端末以外 (たとえばパイプ) への出力は、 最適化によって変更されるものではない。 その出力は、 必ず "フィールド: データ\n" という形式である。 最適化を行っていないデフォルトの出力は、 たとえば "lscpu | less" を実行して確認すること。

仮想環境において、 表示される CPU アーキテクチャー情報は、 ゲストオペレーティングシステムの設定を反映するものであって、 通常は、 物理システム (ホストシステム) の情報とは異なる。 物理トポロジー情報の取得をサポートするアーキテクチャーでは、 lscpu は、 ホストシステム上の物理的なソケット数、チップ数、 コア数も表示する。

一覧形式を出力するオプションには、 list 引数が指定可能である。 コマンド出力をカスタマイズする場合は、 この引数を用いる。 カラムのラベルをカンマ区切りのリストとして指定することで、 出力一覧には、 その指定カラムのみの表示とすることができる。 その場合は、 指定した順の並びとなる。 有効なカラムラベルの一覧は、 「カラム」セクションを参照のこと。 カラムラベルは、 大文字小文字を区別しない。

あらゆるシステムに対して、 すべてのカラムがサポートされているわけではない。 サポートされていないカラムが指定された場合、 lscpu はカラム自体は出力するが、 そこにデータは出力されない。

キャッシュサイズは、 全 CPU をまとめた集計値として表示される。 v2.34 より前のバージョンでは、 コアごとのサイズを表示していた。 ただしこのような出力は、 複雑な CPU トポロジーや、 キャッシュが CPU 間で共有されることを考えると、 混乱の元になっていた。 キャッシュに関する詳細は --cache を参照。 v2.37 バージョン以降、 lscpu は、 Linux カーネルが提供するキャッシュ ID に従うため、 キャッシュサイズが必ずゼロから始まるわけではない。

オプション

-a, --all

オンライン CPU とオフライン CPU の情報を出力行に含める (-e に対するデフォルト)。 このオプションが同時に指定可能なのは、 -e または -p のみである。

-B, --bytes

サイズ出力にあたって、 通常の読みやすい形式ではなく、 バイト表記を行う。

デフォルトでサイズを表現するのはバイト単位であり、 単位のプリフィックスは 2^10 (1024) の累乗で表現される。 記号を省略する場合は、 読みやすさを考慮して、 文字を切り詰めて最初の 1 文字だけが表示される。 たとえば "1 KiB" と "1 MiB" はそれぞれ "1 K"、"1 M" と表示される。 こうして "iB" を取り除き、 省略されていることを示す。

-b, --online

オンライン CPU のみの出力とする (-p に対するデフォルト)。 このオプションが同時に指定可能なのは、 -e または -p のみである。

-C, --caches[=list]

CPU キャッシュに関する詳細を表示する。 表示される情報の詳細は、 --help の出力を参照のこと。

引数 list が省略された場合、 データ出力が可能なカラムが、 すべて出力される。

list を指定する場合には、 オプション文字列、 等号 (=)、 list を記述し、そこには空白文字やホワイトスペースを含めてはならない。 例: -C=NAME,ONE-SIZE 、または --caches=NAME,ONE-SIZE

+list という形式 (たとえば lscpu -C=+ALLOC-POLICY) を指定すれば、 デフォルトのカラム出力を拡張することができる。

-c, --offline

オフライン CPU のみの出力とする。 このオプションが同時に指定可能なのは、 -e または -p のみである。

-e, --extended[=list]

読みやすい書式により CPU 情報を表示する。

引数 list が省略された場合、 デフォルトのカラムがすべて出力される。 デフォルト出力は、 変更される可能性がある。

list を指定する場合には、 オプション文字列、 等号 (=)、 list を記述し、そこには空白文字やホワイトスペースを含めてはならない。 例: '-e=cpu,node' or '--extended=cpu,node'

+list という形式 (たとえば lscpu -e=+MHZ) を指定すれば、 デフォルトのカラム出力を拡張することができる。

-J, --json

デフォルトの概要出力や、 拡張する出力 (--extended) に対して、 JSON 書式を用いて出力する。

-p, --parse[=list]

解析がしやすくなるように、 コマンド出力を最適化する。

引数 list が省略された場合、 コマンド出力は、 lscpu の以前のバージョンと互換性を持つ。 その場合の書式では、 CPU キャッシュのカラム表示が、 2 つのカンマを使って分けられる。 CPU キャッシュが識別できなかった場合は、 キャッシュのカラムは省略される。 引数 list が用いられた場合、 キャッシュカラムは、 コロン (:) によって区切られる。

list を指定する場合には、 オプション文字列、 等号 (=)、 list を記述し、そこには空白文字やホワイトスペースを含めてはならない。 例: '-p=cpu,node' or '--parse=cpu,node'

+list という形式 (たとえば lscpu -p=+MHZ) を指定すれば、 デフォルトのカラム出力を拡張することができる。

-s, --sysroot directory

lscpu コマンドを実行したシステムが Linux でない場合に、 Linux 上の CPU データを収集する。 指定された directory は、 対象とする Linux のシステムルートを表す。

-x, --hex

CPU セットに対して 16 進数によるマスク値を用いる (たとえば "ff")。 デフォルトでは、 一覧形式によりセットを表示する (たとえば 0,1)。 なお 2.30 より前のバージョンでは、 プレフィックスとして 0x をつけていた。

-y, --physical

全カラムの出力にあたって、 トポロジー要素 (コア、 ソケット、など) とともに、 物理 ID を表示する。 論理 ID は、 lscpu が割り当てるものであり、 これとは違って物理 ID は、 カーネルにより提供される、 プラットフォーム固有のものである。 物理 ID は一意である必要はなく、 連番で割り振られているわけではない。 対象要素に対して、 カーネルが物理 ID を取得できなかった場合、 lscpu はダッシュ (-) を出力する。

論理 CPU 数は、 本オプションによって影響されない。

--output-all

表示可能なカラムをすべて出力する。 本オプションは、 --extended, --parse, --caches のいずれかとともに利用する必要がある。

バグ

CPU ファミリー、 モデルなどの基本的情報は、 1 つめの CPU に基づいて表示される。

Xen Dom0 において、 カーネルが誤ったデータを示すことがある。

仮想ハードウェア上では、 各ソケットごとのコア数などが、 誤ったものになることがある。

作者

関連項目

chcpu(8)

バグ報告

バグ報告は、 以下にある issue トラッカーを利用すること。 <https://github.com/util-linux/util-linux/issues>.

入手方法

lscpu コマンドは util-linux パッケージの一部であり、 以下からダウンロードできる。 Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.