背景
有些时候知道某个网卡的宣称的物理极限速率,但是实际插入到服务器上由于某些设置、物理接口限制(比如x4 x8)或者其他拓扑带来的变化,造成实际生效的速率并非理论值。此时如何得知实际的PCIe上的实际速率?
方法
方法1:通过lspci获得
根据PCIe的单lane的速率 * 生效几个lane就可以得出。
一般单lane速率根据PCIe的代数决定。比如PCIe Gen3就是8G。 Gen5 32G。详细参考兄弟篇PCIe版本发布历史
对于网卡而言根据这个信息可以看到网卡在PCIe链路上的速率。
这些信息通过lspci -s 0000:01:00.0 -vvv可以获得,lspci读取的PCIe的配置空间中的Capabilities获得。以及在subsystem中也会描述。
方法2:通过sysfs获取
# 最大值
cat /sys/bus/pci/devices/0000\:01\:00.0/max_link_speed
cat /sys/bus/pci/devices/0000\:01\:00.0/max_link

最低0.47元/天 解锁文章
262

被折叠的 条评论
为什么被折叠?



