LinuxはPCIバスおよびデバイス情報をリストするためにlspci
コマンドを提供します。 このコマンドは、GPU、USBカードなどの現在接続されているPCIデバイスに関する簡単または詳細な情報を提供します。
以下のコマンドでlspci
ツールをdeb
ベースのディストリビューションにインストールできます。
$ sudo apt install pciutils
Fedora、CentOS、Fedora用のインストール
yum
またはdnf
ベースのディストリビューションでは、pciutils
という名前のパッケージをインストー
$ sudo yum install pciutils
PCIデバイスのリスト
このコマンドにオプションを提供しない最も単純な形式から始めます。 これにより、PCIアドレスまたはスロット情報とデバイスタイプおよびベンダー情報が印刷されます。
$ lspci
指定されたスロットまたはアドレスデバイスを表示
ほとんどのコンピュータにはいくつかのPCIインターフェイスがあります。 これは、出力を詰まらせる多くの情報を一覧表示することがあります。 または、アドレスの特定のPCIスロットに興味があるかもしれません。 この例では、SCSIデバイスコントローラであるPCIスロット番号00:10.0
に関する情報を出力します。
$ lspci -s 00:10.0
機械可読形式を印刷
デフォルトの印刷形式は人間可読形式です。 これは、PCIアドレスまたはスロット、ベンダーおよび製品情報がスペースで区切られた形式で印刷されることを意味します。 機械可読形式は、簡単に解析できる二重引用符で区切られた形式です。
$ lspci -m
詳細出力
PCIバスは、PCI接続とデバイスに関する多くの情報を提供します。 既定では、この情報は完全には印刷されません。 以下のようにverbose-v
オプションを使用して、このPCI接続とデバイスに関する詳細情報を印刷できます。
$ lspci -v
サブシステム、フラグ、メモリ位置またはアドレス、使用中のカーネルドライバ、カーネルモジュール、I/OポートなどのすべてのPCIデバイス情報
TAG:Value形式で情報を印刷
PCIスロットとデバイスの情報をtag:value形式で印刷することもできます。 これにより、JSON形式のように情報が読みやすくなります。 以下のように-vmms
オプションを使用します。
$ lspci -vmm
デバイスのベンダーコードを印刷
すべてのコンピュータのハードウェアメーカーには、独自のベンダーとデバイスコードまたはIDがあります。 以下のように-n
オプションを使用して、device vendor、class、svendor、sdevice IDを印刷できます。
$ lspci -n -vmm
PCIデバイスのカーネルモジュールを表示
非常にPCIデバイスは、Linuxオペレーティングシステムで使用されるカーネルモジュールとド 以下のように-k
オプションを使用して、すべてのカーネルとドライバを一覧表示できます。
$ lspci -k
以下の情報が-k
によって提供されていることがわかります。
- デバイス名
- サブシステム
- カーネルドライバ
- カーネルモジュール
PCIデバイスをツリー形式で一覧表示
これまで、PCIデバイスを行単位または通常の形式で一覧表示してきました。 また、lspci
の出力を階層的にツリー形式で一覧表示することもできます。 以下のように-t
オプションを使用します。
$ lspci -tv
一部のデバイスがVMware USB controllerの下に一覧表示されていることがわかります。
Very Verbose Modeすべての詳細
PCIスロットに関する詳細または詳細な情報が既に印刷されています。 複数の-v
オプション-vv
または-vvv
を使用します。 Morev
は、より冗長または詳細を意味します。
$ lspci -vv