网络接口卡未使用正确的 PCI 链路宽度

0 motherboard linux pci-express network-adapter hardware-detection

我正在运行使用 PCIe 4.0 x8 的Mellanox PCIe 卡,运行速度应为 16GB/s。它连接到该主板上的 PCIe 3.0 x16 插槽。它也以 16GB/s 的速度运行,我应该能够通过我的卡从这个插槽获得全速。然而,当运行lspci --vv该卡时,它说它仅在运行,Speed 8GT/s (downgraded), Width x8 (ok)我认为这阻止了我使用该卡。它为什么要这样做呢?

这是在 Ubuntu 22.04 上运行

Set*_*eth 5

PCI-E 3.0 和 4.0 有一定的兼容性。您可以在 PCI-E 3.0 插槽中运行 PCI-E 4.0 卡,但速度会降低。

\n

您最初链接的文章也包含该信息:

\n
\n

PCIe 版本向前兼容,这意味着您可以在旧系统上使用较新的 PCIe 设备。但是,PCI-Express 将使用基于两个版本中最低版本的速度进行通信。

\n
\n

即使在更大的插槽中,x4 设备也始终会使用 x4 速度,因为没有更多的物理连接可用于传输更多数据。

\n

您链接的文章甚至有一个不错的速度小表。

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n
x1 带宽x2 带宽x4 带宽x8 带宽x16 带宽
PCIe 1.0250\xc2\xa0MB/秒500\xc2\xa0MB/秒750\xc2\xa0MB/秒2\xc2\xa0GB/秒
PCIe 2.0500\xc2\xa0MB/秒1000\xc2\xa0MB/秒2\xc2\xa0GB/秒4\xc2\xa0GB/秒
PCIe 3.01\xc2\xa0GB/秒 2\xc2\xa0GB/秒4\xc2\xa0GB/秒8\xc2\xa0GB/秒16\xc2\xa0GB/秒
PCIe 4.02\xc2\xa0GB/秒 4\xc2\xa0GB/秒8\xc2\xa0GB/秒16\xc2\xa0GB/秒32\xc2\xa0GB/秒
PCIe 5.04\xc2\xa0GB/秒 8\xc2\xa0GB/秒16\xc2\xa0GB/秒32\xc2\xa0GB/秒63\xc2\xa0GB/秒
PCIe 6.08\xc2\xa0GB/秒 16\xc2\xa0GB/秒32\xc2\xa0GB/秒63\xc2\xa0GB/秒126\xc2\xa0GB/秒
\n
\n

该卡是 PCI-E 4.0 设备,而您的主板仅具有 PCI-E 3.0。因此,您的 x8 PCI-E 4.0 设备最多只能以 8 GB/s (x8 PCI-E 3.0) 的速度运行。

\n