如何查看PCIe卡使用了多少个通道?


30

主板上的PCI Express插槽可以比连接的通道数更宽。例如,母板可以具有仅连接x1通道的x8插槽。

另一方面,您只能使用ex插入卡。主板上x16插槽的4条通道,他们将协商仅使用那些x4通道。

如何从运行的系统检查插入的PCIe卡使用了多少个通道?

Answers:


35

好的,看来我在初次尝试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-

1
在您的示例中,输出文本同时具有width x16width x8。我认为这被解释为:the link capacity is width x16this device has negotiated width x8
Trevor Boyd Smith

1
是的,这也是我的理解方式。
丝绸

与@ʇsәɹoɈ在其他答案上的评论相同;使用root / sudo
hbogert

11

有时可能会更复杂。

例如,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选项。


10
注意:当以非特权用户身份运行时,lspci不会显示LnkCap / LnkSta / Width统计信息。使用sudo运行它以查看它们。
ʇsәɹoɈ
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.