PCIE有四种不同规格,下图展示了从外形区分其中两种规格。注意每种卡槽旁边的 x4, x8, x16。
不同的PCIE规格会有不同的传输速率,参考值如下表。
PCI Express 版本 | 编码方案 | 传输速率 |
---|
1.0 | 8b/10b | 2.5GT/s |
2.0 | 8b/10b | 5GT/s |
3.0 | 128b/130b | 8GT/s |
4.0 | 128b/130b | 16GT/s |
5.0 | 128b/130b | 32 or 25GT/s |
真正的传输带宽需要使用公式得到 (吞吐量 = 传输速率 * 编码方案)。
常规万兆网卡的支持,需要插在带宽足够的卡槽上,例如gen3,x8, 否则将限制网卡的传输速率。
所有的PCIE设备在linux下都可以用lspci来查看,如果你接在PCIE上的设备没有识别到(PCIE接口是正常的情况下),说明你外接的设备没接好、损坏或是没有安装相应驱动。
下面以Chelsio网卡为例,列出查看Chelsio网卡所插卡槽的PCIE带宽的信息的命令。
# 查看卡片名称及装置名称 root @Kylin :/home/hohoho# lspci |grep -i Chelsio 05 : 00.0 Ethernet controller: Chelsio Communications Inc T520-CR Unified Wire Ethernet Controller 05 : 00.1 Ethernet controller: Chelsio Communications Inc T520-CR Unified Wire Ethernet Controller 05 : 00.2 Ethernet controller: Chelsio Communications Inc T520-CR Unified Wire Ethernet Controller 05 : 00.3 Ethernet controller: Chelsio Communications Inc T520-CR Unified Wire Ethernet Controller 05 : 00.4 Ethernet controller: Chelsio Communications Inc T520-CR Unified Wire Ethernet Controller 05 : 00.5 SCSI storage controller: Chelsio Communications Inc T520-CR Unified Wire Storage Controller 05 : 00.6 Fibre Channel: Chelsio Communications Inc T520-CR Unified Wire Storage Controller # <--- 万兆网卡,光纤接入,Fibre Channel # 根据装置名称查出网卡的Vendor ID以及device ID root @Kylin :/home/hohoho# lspci -n |grep -i 05 : 00.6 05 : 00.6 0c04: 1425 : 5601 # 根据Vendor ID和device ID就可以查看出传输速度,关注Speed 和 Width root @Kylin :/home/hohoho# lspci -n -d 1425 : 5601 -vvv|egrep -i '(width|gen)' LnkCap: Port # 0 , Speed 8GT/s, Width x8, ASPM not supported, Exit Latency L0s <256ns, L1 <64us LnkSta: Speed 5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- # <--- DLActive状态的信息,当前卡片的带宽是 5G x 0.8 x 0.7 ,限制了万兆网卡的传输速度 AERCap: First Error Pointer: 00 , GenCap+ CGenEn- ChkCap+ ChkEn- |
参考:
PCIe传输速率和可用带宽(吞吐量)计算___Sunny__的博客-CSDN博客_pcie速率
https://jingyan.baidu.com/article/e4511cf3554fe02b855eaf55.html