PCIe カードで使用されているレーンの数を確認するにはどうすればよいですか?

PCIe カードで使用されているレーンの数を確認するにはどうすればよいですか?

マザーボード上の PCI Express スロットは、接続されるレーンの数よりも広くすることができます。たとえば、マザーボードには x1 レーンのみが接続された x8 スロットがある場合があります。

一方、たとえば 4 レーンのみを使用するカードをマザーボードの x16 スロットに挿入すると、それらの x4 レーンのみを使用するようにネゴシエートされます。

実行中のシステムから、挿入された PCIe カードによって使用されているレーンの数を確認するにはどうすればよいでしょうか?

答え1

わかりました。manpages での最初の試行では見逃してしまったようですlspci

注記:コマンドを root/sudo として実行します。そうしないと、以下に示す Lnk 出力を含む多くの詳細が省略されます。

lspci -vvリンクの幅など多くの情報を表示します。

01:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 8800 GT] (rev a2) (prog-if 00 [VGA controller])
            [...]
            LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Latency L0 <512ns, L1 <1us
                    ClockPM- Surprise- LLActRep- BwNot-
            LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- Retrain- CommClk+
                    ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
            LnkSta: Speed 2.5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-

答え2

場合によっては、もう少し複雑になることもあります。

たとえば、4 ポート GBit イーサネット アダプターにはオンボードの PCIe スイッチがあります。イーサネット アダプターが x4 に接続されているのに、オンボードの PCIe スイッチがマザーボードの x1 のみに接続されているときに上流でボトルネックが発生するという問題に遭遇しました。

この問題についてはこのスレッドを参照してください:http://thread.gmane.org/gmane.linux.drivers.e1000.devel/15192/focus=15254

ツリーのつながりを理解するには、

sudo lspci -tv
sudo lspci -vv | grep -P "[0-9a-f]{2}:[0-9a-f]{2}\.[0-9a-f]|LnkSta:"

最後の行には、vv オプションの膨大な詳細なしで、バス上の各デバイスの下にリンク ステータスが表示されます。

答え3

次のコマンドを使用します。 lspci -vv詳細な出力を提供します。次のように grep で解析され、「Width」のみが表示されます。

lspci -vvv | egrep "0[0-9]:|Width\ "
03:00.0 Ethernet controller: Mellanox Technologies MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] (rev b0)
pcilib: sysfs_read_vpd: read failed: Input/output error
        LnkCap:    Port #8, Speed 5GT/s, Width x8, ASPM L0s, Exit Latency L0s unlimited, L1 unlimited
        LnkSta:    Speed 5GT/s, Width x8, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-

2つに注目してください幅 x8上記の行。

LnkSta(リンク ステータス) が (リンク機能) より小さい場合はLnkCap、幅の横に表示されます(downgraded)。これは、PCI カードが PCI スロットが提供できる以上の機能を備えていることを意味します。

次に、PCI ポートの物理および電気情報を表示できます。物理とは、マザーボード上の実際のスロット サイズです。電気とは、スロットがチップセットにどのように配線されているかです。一部のマザーボードには物理 x16 スロットがありますが、x8 レーンのみを使用します。

dmidecode --type 9 | egrep "Usage|Type|Designation"

Designation: PCH SLOT1 PCI-E 3.0 X4(IN X8)
Type: x4 PCI Express 3 x8
Current Usage: Available

Designationマザーボードの製造元がスロットを報告する方法です。 Type電気的および物理的な特性です。(例: 電気的 x4 レーン、物理スロットは x8)。

関連情報