在Linux中,有没有办法找出插入哪个PCI插槽的PCI卡?
/ sys / bus / pci / devices /包含许多非卡的设备(网桥,CPU通道等),我无法在设备目录中找到有关插槽卡映射的任何信息。
答案 0 :(得分:13)
您可以使用
dmidecode –t slot
找到所有可用的pci插槽 而不是你可以运行
lspci -s <slot number>
命令列出连接到指定插槽的设备。您必须从第一个命令获取总线地址,并在第二个命令中将此地址用作参数。
答案 1 :(得分:4)
Nebojsa的答案很好,但是这里有更多的信息和对magmabyte评论的回答。
dmidecode
为您提供了插槽的数量,但是,这些插槽并不是使用PCI桥接器的唯一方法,这就是为什么您会看到比插槽更多的设备。
其次,您可能会看到每个插槽有多个“设备”,但它们可能只是同一张卡上的多个端口。为您举例说明使用网络接口卡(NIC):
megaman@someserver $ lspci | grep 10Gb
07:00.0 Ethernet controller: Emulex Corporation OneConnect 10Gb NIC (rev 02)
07:00.1 Ethernet controller: Emulex Corporation OneConnect 10Gb NIC (rev 02)
dmidecode
表示此服务器有三个插槽(确实如此)。插槽1上面有10Gb网卡(你可以看到它有2个端口),插槽2有一个光纤通道卡(也恰好有2个端口),最后插槽3是空的。
服务器中有三个物理插槽,一个是空的,两个是多端口卡(一个HBA和一个NIC)。
要在评论中回答您的问题,您拥有的3个广告位是由dmidecode
指示的广告位,并且可能会填充多端口接口卡。