以下命令提供有关 PCIe 插槽的信息:
# lspci -vv | grep -E 'PCI bridge|LnkCap:'
00:01.0 PCI bridge: Intel (...) PCIe Controller (x16) (...)
LnkCap: Port #2, Speed 8GT/s, Width x16 (...)
00:1b.0 PCI bridge: Intel (...)
LnkCap: Port #17, Speed 8GT/s, Width x4 (...)
00:1c.0 PCI bridge: Intel (...)
LnkCap: Port #1, Speed 8GT/s, Width x1 (...)
00:1c.2 PCI bridge: Intel (...)
LnkCap: Port #3, Speed 8GT/s, Width x1 (...)
00:1c.3 PCI bridge: Intel (...)
LnkCap: Port #4, Speed 8GT/s, Width x1 (...)
00:1c.4 PCI bridge: Intel (...)
LnkCap: Port #5, Speed 8GT/s, Width x4 (...)
00:1d.0 PCI bridge: Intel (...)
LnkCap: Port #9, Speed 8GT/s, Width x4 (...)
LnkCap: Port #0, Speed 8GT/s, Width x16 (...)
LnkCap: Port #0, Speed 8GT/s, Width x16 (...)
LnkCap: Port #0, Speed 16GT/s, Width x4 (...)
LnkCap: Port #0, Speed 2.5GT/s, Width x1 (...)
笔记本电脑是 2017 款华硕 ROG G752VSK。规格说明有两个 PCIe 3.0x4。
为什么我的输出中有这么多槽?如果我查找维基百科,我可以推断出我有:
- 1 个 PCIe 3.0 x16(速度 8GT/s,宽度 x16)
- 2 个 PCIe 3.0 x4(速度 8GT/s,宽度 x4)
- 3 个 PCIe 3.0 x1(速度 8GT/s,宽度 x1)
最后一个桥怎么样,它似乎有 5 个端口,其中一个看起来像 PCIe 4.0 x4(速度 16GT/s,宽度 x4)?
我无法理解它。我本想lspci
展示我可以在笔记本电脑中实际识别的 2 个 PCIe 3.0x4。为什么还有这么多其他 PCIe 端口?
[编辑,应u1686_grawity的要求]
# lspci -tvnn
-[0000:00]-+-00.0 Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers [8086:5910]
+-01.0-[01]--+-00.0 NVIDIA Corporation GP104BM [GeForce GTX 1070 Mobile] [10de:1be1]
| \-00.1 NVIDIA Corporation GP104 High Definition Audio Controller [10de:10f0]
+-14.0 Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller [8086:a12f]
+-14.2 Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem [8086:a131]
+-15.0 Intel Corporation 100 Series/C230 Series Chipset Family Serial IO I2C Controller #0 [8086:a160]
+-15.1 Intel Corporation 100 Series/C230 Series Chipset Family Serial IO I2C Controller #1 [8086:a161]
+-16.0 Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 [8086:a13a]
+-17.0 Intel Corporation Q170/Q150/B150/H170/H110/Z170/CM236 Chipset SATA Controller [AHCI Mode] [8086:a102]
+-1b.0-[02]----00.0 Sandisk Corp Device [15b7:5030]
+-1c.0-[03]--
+-1c.2-[04]----00.0 Intel Corporation Wireless 8260 [8086:24f3]
+-1c.3-[05]----00.0 Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168]
+-1c.4-[06-3e]--
+-1d.0-[3f]----00.0 Micron/Crucial Technology Device [c0a9:540a]
+-1f.0 Intel Corporation CM238 Chipset LPC/eSPI Controller [8086:a154]
+-1f.2 Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller [8086:a121]
+-1f.3 Intel Corporation CM238 HD Audio Controller [8086:a171]
\-1f.4 Intel Corporation 100 Series/C230 Series Chipset Family SMBus [8086:a123]
[编辑2]
基本上,我想做的是找到一种方法来确认两个 NVMe/PCIe 插槽确实是 3.0x4。
事实上,我想将该技术应用到我拥有的另一台笔记本电脑上:官方规格说它有一个 Gen4x4 和一个 Gen4x2,当我联系他们识别每台笔记本电脑时,他们告诉我他们的网站已经过时,事实上我的笔记本电脑有两个Gen4x4。所以我正在寻找一种方法来确认这一点
[编辑3,遵循@Mokubai的回答和评论]
我的 grep 添加了一些不相关的行。这个更好:
# lspci -vv | grep 'PCI bridge' -A40 | grep -E 'PCI bridge|LnkCap:'
00:01.0 PCI bridge: Intel (...) PCIe Controller (x16) (...)
LnkCap: Port #2, Speed 8GT/s, Width x16 (...)
00:1b.0 PCI bridge: Intel (...)
LnkCap: Port #17, Speed 8GT/s, Width x4 (...)
00:1c.0 PCI bridge: Intel (...)
LnkCap: Port #1, Speed 8GT/s, Width x1 (...)
00:1c.2 PCI bridge: Intel (...)
LnkCap: Port #3, Speed 8GT/s, Width x1 (...)
00:1c.3 PCI bridge: Intel (...)
LnkCap: Port #4, Speed 8GT/s, Width x1 (...)
00:1c.4 PCI bridge: Intel (...)
LnkCap: Port #5, Speed 8GT/s, Width x4 (...)
00:1d.0 PCI bridge: Intel (...)
LnkCap: Port #9, Speed 8GT/s, Width x4 (...)
结合lspci -tvnn
的结果,我们确实可以得出结论,2 个 NVMe 插槽分别为1b.0
和1d.0
,例如 Sandisk(我的例子是 WD)和 Micron/Crucial,均位于Speed 8GT/s, Width x4
,例如 Gen3x4。