如何从命令行确定 NVMe 插槽是第 3 代还是第 4 代?

gat*_*ack 2 command-line nvme

目标是确定 Dell 3090 micro i3 10105T (Comet Lake) 是否支持 Gen-4 NVMe(Gen-4 带宽)。

  • NVMe插槽空闲
  • 配备 OSX 和 Ubuntu 的 SATA 驱动器

如何从命令行确定 NVMe 插槽是第 3 代还是第 4 代?我不清楚lsblk是否会透露 NVMe 规格。

链接 确实指示了 NVME-4 的单个实例:

在此输入图像描述

最好在购买驱动器之前从命令行确认 NVME-4 兼容性。 Reddit 似乎表明第 10 代 CPU 不支持 NVME-4?

pa4*_*080 8

确定设备所连接的插槽的生成的一种方法是通过其带宽。

+------------------+------------------------------------+
| PCI Express Gen  | Bandwidth per line (x4 slot width) |
+------------------+------------------------------------+
| PCIe Gen1        |  2 GT/s                            |
| PCIe Gen2        |  4 GT/s                            |
| PCIe Gen3        |  8 GT/s                            |
| PCIe Gen4        | 16 GT/s                            |
+------------------+------------------------------------+
Run Code Online (Sandbox Code Playgroud)

首先,我们需要确定设备连接在哪个 PCIe 插槽上。

+------------------+------------------------------------+
| PCI Express Gen  | Bandwidth per line (x4 slot width) |
+------------------+------------------------------------+
| PCIe Gen1        |  2 GT/s                            |
| PCIe Gen2        |  4 GT/s                            |
| PCIe Gen3        |  8 GT/s                            |
| PCIe Gen4        | 16 GT/s                            |
+------------------+------------------------------------+
Run Code Online (Sandbox Code Playgroud)
08:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller 980
Run Code Online (Sandbox Code Playgroud)

然后我们可以通过以下命令获取有关插槽和设备的详细信息(并过滤必要的行)。注意sudo需要使用来获取详细信息。

1.获取所连接设备的代号。

$ lspci | grep -i nvme
Run Code Online (Sandbox Code Playgroud)
LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L1 <64us
Run Code Online (Sandbox Code Playgroud)

在这里我们可以看到该设备支持高达8 GT/s,因此它是Gen3

2.获取PCIe本身的代数。

08:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller 980
Run Code Online (Sandbox Code Playgroud)
LnkCap: Port #0, Speed 16GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us
LnkCap: Port #0, Speed 16GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us
Run Code Online (Sandbox Code Playgroud)

在这里我们可以看到该插槽支持高达16 GT/s,因此它是Gen4

  • 我从`lspci | 得到02:00.0 grep -i nvme`。但最后一个命令:`sudo lspci -vv -s 02 | grep -w LnkCap` 结果没有输出。 (2认同)