lspciコマンドについて詳しくまとめました 【Linuxコマンド集】

lspciコマンド
  • このエントリーをはてなブックマークに追加
  • Pocket

lspciはLinuxに搭載されているPCIバスについての情報を表示するコマンドだ。

目次

lspciコマンドの基本

コマンドの基本動作

使い方は、次のとおりだ。

$ lspci

lspciコマンド

Linuxに搭載されているPCIバスの情報を表示した。

lspciコマンドのオプションたち

オプションの一覧

後から詳細をご紹介するが、まずは一覧で見てみよう。

オプション -s

domain、bus、slot、funcを指定して表示するする。

オプション -d

vendorとdeviceを指定して表示するする。

オプション -v

詳細に表示する。

オプション -mm

パラメータを"で囲んで表示する。

オプション -t

ツリー形式で表示する。

オプション -m

旧形式でパラメータを"で囲んで表示する。

オプション -vv

さらに詳細に表示する。

オプション -vvv

最も詳細に表示する。

オプション -k

カーネルモジュールも表示する。

オプション -x

PCI設定空間の先頭をダンプする。

オプション -xxx

PCI設定空間をダンプする。

オプション -xxxx

PCI設定空間を拡張してダンプする。

オプション -b

PCIバスからの情報を表示する。

オプション -D

ドメイン番号も併せて表示する。

オプション -n

vendorとdeviceを数字で表示する。

オプション -nn

vendorとdeviceを名称と数字で表示する。

オプション -q

認識できないデバイスはDNSに問い合わせ登録する。

オプション -qq

ローカルのキャッシュをリセットしつつ認識できないデバイスはDNSに問い合わせ登録する。

オプション -Q

ローカルのみで設定されているものでも中央データベースに問い合わせする。

オプション -i

PCIのデータベースとして利用するファイルを指定する。

オプション -p

カーネルモジュールの情報を取り込むファイルを指定する。

オプション -M

 バスマッピングモードを有効にする。

オプション -A

 PCIアクセス方法を指定する。

オプション -O

制御するパラメータに値を設定する。

オプション -H1

構成メカニズム1でハードウェアにアクセスする。

オプション -H2

構成メカニズム2でハードウェアにアクセスする。

オプション -F

-xオプションで得たファイルでPCIを設定する。

オプション -G

デバッグレベルを上げる。

-sオプション:domain、bus、slot、funcを指定して表示するする

domain、bus、slot、funcを指定して表示するする書式は次のとおりだ。

$ lspci -s domain:bus:slot.func

domainが00、busが06のデバイスを指定して表示する場合は、次のコマンドだ。

$ lspci -s 00:06

lspciコマンド

domainが00、busが06のデバイスを指定して表示した。

bus、slot 、funcは省略できる。

-dオプション:vendorとdeviceを指定して表示するする

vendorとdeviceを指定して表示するする書式は次のとおりだ。

$ lspci -d vendor:device

vendorとdeviceは後述する-nオプションで確認できる。

vendor が8086とdeviceが2829のデバイスを指定して表示する場合は、次のコマンドだ。

$ lspci -d 8086:2829

lspciコマンド

vendor が8086とdeviceが2829のデバイスを指定して表示した。

-mオプション:旧形式でパラメータを"で囲んで表示する

それぞれのパラメータは半角空白で区切られているが、パラメータの名称の中に半角空白が含まれる場合もあるため、一つのパラメータを"で囲み、名称であることを明示する必要がある。

-mオプションはパラメータを"で囲んで表示する。

形式は昔のシステムで扱う形式での表示となる。

書式は次のとおりだ。

$ lspci -m

domainが00、busが06のデバイスを旧形式でパラメータを"で囲んで表示する場合は、次のコマンドだ。

$ lspci -m -s 00:06

lspciコマンド

domainが00、busが06のデバイスを旧形式でパラメータを"で囲んで表示した。

-mmオプション:パラメータを"で囲んで表示する

-mオプションと同じく、パラメータを"で囲んで表示するが、新形式の書式でパラメータを囲む。

書式は次のとおりだ。

$ lspci -mm

domainが00、busが06のデバイスを新形式でパラメータを"で囲んで表示する場合は、次のコマンドだ。

$ lspci -mm -s 00:06

lspciコマンド

domainが00、busが06のデバイスを新形式でパラメータを"で囲んで表示した。

-tオプション:ツリー形式で表示する

ツリー形式で表示する書式は次のとおりだ。

$ lspci -t

domainが00、busが01のデバイスをツリー形式で表示する場合は、次のコマンドだ。

$ lspci -t -s 00:01

lspciコマンド

domainが00、busが01のデバイスをツリー形式で表示した。

00:01のデバイスはfunc0の配下にfunc1が存在していることがわかる。

-vオプション:詳細に表示する

詳細に表示する書式は次のとおりだ。

$ lspci -v

domainが00、busが08のデバイスを詳細に表示しする場合は、次のコマンドだ。

$ lspci -v -s 00:08

lspciコマンド

domainが00、busが08のデバイスを詳細に表示した。

-vvオプション:さらに詳細に表示する

-vオプションよりもさらに詳細に表示する書式は次のとおりだ。

$ lspci -vv

domainが00、busが08のデバイスをさらに詳細に表示する場合は、次のコマンドだ。

$ lspci -vv -s 00:08

lspciコマンド

domainが00、busが08のデバイスをさらに詳細に表示した。

-vvvオプション:最も詳細に表示する

-vvオプションよりもさらに詳しく、最も詳細に表示する書式は次のとおりだ。

$ lspci -vvv

domainが00、busが08のデバイスを最も詳細に表示しする場合は、次のコマンドだ。

$ lspci -vvv -s 00:08

lspciコマンド

domainが00、busが08のデバイスを最も詳細に表示しした。

-kオプション:カーネルモジュールも表示する

カーネルモジュールも表示する書式は次のとおりだ。

$ lspci -k

domainが00、busが08のデバイスをカーネルモジュールも表示しする場合は、次のコマンドだ。

$ lspci -k -s 00:08

lspciコマンド

domainが00、busが08のデバイスをカーネルモジュールも表示した。

-xオプション:PCI設定空間の先頭をダンプする

PCI設定空間の先頭をダンプする書式は次のとおりだ。

$ lspci -x

domainが00、busが08のデバイスのPCI設定空間の先頭をダンプする場合は、次のコマンドだ。

$ lspci -x -s 00:08

lspciコマンド

domainが00、busが08のデバイスのPCI設定空間の先頭をダンプした。

-xxxオプション:PCI設定空間をダンプする

-xオプションと違い、PCI設定空間をすべてダンプする。

管理者権限以外で-xxxオプションを実行すると先頭の設定空間しかダンプしない。

書式は次のとおりだ。

$ lspci -xxx

domainが00、busが08のデバイスのPCI設定空間をダンプする場合は、次のコマンドだ。

$ lspci -xxx -s 00:08

lspciコマンド

domainが00、busが08のデバイスのPCI設定空間をダンプした。

-xxxxオプション:PCI設定空間を拡張してダンプする

PCI設定空間の中でも拡張した空間までダンプする書式は次のとおりだ。

$ lspci -xxxx

domainが00、busが08のデバイスのPCI設定空間を拡張してダンプする場合は、次のコマンドだ。

$ lspci -xxxx -s 00:08

lspciコマンド

domainが00、busが08のデバイスのPCI設定空間を拡張してダンプした。

-bオプション:PCIバスからの情報を表示する

PCIバスからの情報を表示する書式は次のとおりだ。

$ lspci -b

domainが00、busが06のデバイスのPCIバスからの情報を詳細に表示する場合は、次のコマンドだ。

$ lspci -b -v -s 00:06

lspciコマンド

domainが00、busが06のデバイスのPCIバスからの情報を詳細に表示した。

-bオプションなしの場合とありの場合でIRQ番号が変わっている。

-Dオプション:ドメイン番号も併せて表示する

ドメイン番号も併せて表示する書式は次のとおりだ。

$ lspci -D

domainが00、busが08のデバイスのドメイン番号も併せて表示する場合は、次のコマンドだ。

$ lspci -D -s 00:08

lspciコマンド

domainが00、busが08のデバイスのドメイン番号も併せて表示した。

-nオプション:vendorとdeviceを数字で表示する

vendorとdeviceを数字で表示する書式は次のとおりだ。

$ lspci -n

domainが00、busが08のデバイスのvendorとdeviceを数字で表示する場合は、次のコマンドだ。

$ lspci -n -s 00:08

lspciコマンド

domainが00、busが08のデバイスのvendorとdeviceを数字で表示した。

-nnオプション:vendorとdeviceを名称と数字で表示する

vendorとdeviceを名称と数字で表示する書式は次のとおりだ。

$ lspci -nn

domainが00、busが08のデバイスのvendorとdeviceを名称と数字で表示しする場合は、次のコマンドだ。

$ lspci -nn -s 00:08

lspciコマンド

domainが00、busが08のデバイスのvendorとdeviceを名称と数字で表示した。

-qオプション:認識できないデバイスはDNSに問い合わせ登録する

認識できないデバイスはDNSに問い合わせ登録する書式は次のとおりだ。

$ lspci -q

-qqオプション:ローカルのキャッシュをリセットしつつ認識できないデバイスはDNSに問い合わせ登録する

ローカルのキャッシュをリセットしつつ認識できないデバイスはDNSに問い合わせ登録する書式は次のとおりだ。

$ lspci -qq

-Qオプション:ローカルのみで設定されているものでも中央データベースに問い合わせする

ローカルのみで設定されているものでも中央データベースに問い合わせする書式は次のとおりだ。

$ lspci -Q

-iオプション:PCIのデータベースとして利用するファイルを指定する

PCIのデータベースとして利用するファイルを指定する書式は次のとおりだ。

$ lspci -i ファイルパス

PCIのデータベースとして利用するファイルを/dev/pcitestに指定する場合は、次のコマンドだ。

$ lspci -I /dev/pcitest

-pオプション:カーネルモジュールの情報を取り込むファイルを指定する

カーネルモジュールの情報を取り込むファイルを指定する書式は次のとおりだ。

$ lspci -p ファイルパス

カーネルモジュールの情報を取り込むファイルを/dev/kerneltestに指定する場合は、次のコマンドだ。

$ lspci -p /dev/kerneltest

-Mオプション: バスマッピングモードを有効にする

 バスマッピングモードを有効にする書式は次のとおりだ。

$ lspci -M

-Aオプション: PCIアクセス方法を指定する

 PCIアクセス方法を指定する書式は次のとおりだ。

$ lspci -A アクセス方法

-Oオプション:制御するパラメータに値を設定する

制御するパラメータに値を設定する書式は次のとおりだ。

$ lspci -O パラメータ名=値

制御するパラメータtestに値1010を設定する場合は、次のコマンドだ。

$ lspci -O test=1010

-H1オプション:構成メカニズム1でハードウェアにアクセスする

構成メカニズム1でハードウェアにアクセスする書式は次のとおりだ。

$ lspci -H1

-H2オプション:構成メカニズム2でハードウェアにアクセスする

構成メカニズム2でハードウェアにアクセスする書式は次のとおりだ。

$ lspci -H2

構成メカニズム2でハードウェアにアクセスする場合は、次のコマンドだ。

-Fオプション:-xオプションで得たファイルでPCIを設定する

-xオプションで得たファイルでPCIを設定する書式は次のとおりだ。

$ lspci -F ファイルパス

-xオプションで得たファイル/tmp/pcitestでPCIを設定する場合は、次のコマンドだ。

$ lspci -F /tmp/pcitest

-Gオプション:デバッグレベルを上げる

デバッグレベルを上げる書式は次のとおりだ。

$ lspci -G

lspci関連コマンド

最後にlspciコマンドに関連して、基本的なLinuxに搭載されているPCIバスについての情報を表示するコマンドも紹介しておく

lsusbコマンド

USBの情報を表示する

まとめ

Linuxのハードウェアがどのような構成になっているかはPCIブリッジを確認すればわかる。また、ハードウェアが正常に動作しているかはPCIブリッジの接続状況を診断すればわかる。そのような時にlspciを活用しよう。

また、-xオプションを使えばバックアップも取れるので、ハードウェア追加前などにバックアップすることでリスクを軽減できる。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*