【服务器】关于lspci指令查看网卡数量的小坑
创始人
2025-01-17 03:32:56
0次

准备用lspci指令查看服务器上有多少个网卡,但是由于对lspci的输出结果不了解,导致得到了错误的结果,折腾了好几周 T_T

一、什么是lspci指令?如何使用?

1、lspci指令用来查看当前系统连接的所有PCI/PCIe设备

2、使用lspci命令最简单的方式就是直接输入lspci,然后按下回车键即可。这时候会列出当前系统中所有PCI设备的相关信息。如下图:

3、参数选项
除了基本用法以外,lspci命令还支持多种参数选项,可以更方便地查看和筛选设备信息。下面是常用的参数选项:
–v:显示详细信息
–s:指定设备的PCI地址
–n:显示设备的PCI ID
–vv:显示更加详细的信息

4、常见应用场景

(1)检测PCI设备是否正常工作 在Linux系统中,如果PCI设备无法正常工作linux lspci命令详解,就可以使用lspci命令来检测该设备是否被识别。如果lspci命令能够列出该设备的相关信息,则说明该设备已经被识别并且正常工作。
(2)查看硬件配置信息lspci命令可以列出所有PCI总线上连接的设备信息,这些信息对于了解硬件配置非常有帮助。例如,在安装Linux系统时,需要了解计算机上的硬件配置,以便正确地安装和配置相关驱动程序。
(3)查找特定类型的设备 通过使用lspci命令的参数选项,可以查找特定类型的设备。例如,使用-l参数可以列出所有网络相关的设备,而使用-v参数则可以显示更加详细的信息。

二、lspci输出的一些解释
首先很简单,看看不加参数直接调用lspci命令的输出结果

首先让人不好理解的地方就是最左边的一系列编号类似00:19.0这些,毕竟右边的设备名字供应商什么的还是很容易看懂的。那么最左边的这些编号代表什么意思呢?

在PCI或者说PCIe里,每个设备有三个编号:(即BDF地址)

总线编号(Bus Number)
设备编号(Device Number)
功能编号(Function Number)

那么对应上面的00:19.0来说:这个设备的BusNumber是00,DeviceNumber是19,FunctionNumber是0,需要说明的是这三个都是16进制表示,有些配置里需要填十进制数的,需要做下转换。

其实呢,在linux里还有一个编号,叫做DomainNumber,不过上面的输出中没有,因为都是0,所以就忽略了,理论上,一个Segment可以有256个Bus,每个Bus可以有32个Device,每个Device可以有8个Function,在一些场景下,比如设备特别多,是会有多个Domain的,在硬件层面对应多个PCI Segment,在这种情况下,或者使用lspci -D命令,输出就会带上DomainNumber,比如我们一台服务器的输出:

在前面多了一列,多出来的就是DomainNumber了。

明白了前面的编号之后,还有一个疑问,就是lspci命令是怎么能知道00:19.0这个设备就是个Ethernet controller,并且是Intel Corporation Ethernet Connection (3) I218-LM (rev 03)的呢?

这时可以使用lspci -nn命令,附加上原始的信息:

可以看到和上面不同的是多了两个方括号括起来的编号,其中前面的[0200]表示了当前设备的DeviceClass,也就是设备类型,而后面的[8086:15a2]代表的就是设备的VendorID和DeviceID,lspci命令会默认尝试读取/usr/share/hwdata/pci.ids.gz和/usr/share/hwdata/pci.ids文件,利用DeviceClass、VendorID:DeviceID去匹配相应的设备,这个设备清单是由https://pci-ids.ucw.cz/维护的,我们也可以直接去网站上去查询。

三,使用lspci查看服务器网卡数量的坑

在服务器使用lspci指令输出结果如下:

也可以使用 lspci -v | grep -i ethernet过滤网卡相关的信息:

我之前犯的错误是以为输出为4行表示有4个网卡,但是事实并不是这样的。。。

该输出表示该服务器使用的是Intel I350网卡,搜索发现该网卡是一个四端口的以太网控制器

那么,输出的4个结果如何解释呢?
lspci输出中确实显示了4个相似的条目,但这些实际上是同一个网卡的不同端口

根据前面的数字也可以判断出这一点:

11: 表示总线号(Bus Number) 00: 表示设备号(Device Number) .0, .1, .2, .3 表示功能号(Function Number)

当多个条目具有相同的总线号和设备号时,这通常意味着这些条目是同一个物理设备的不同功能部分。在上述输出中,所有四个以太网控制器都位于总线号为11、设备号为00的位置,仅功能号不同,表明这是一个多端口网卡的不同接口。

综上,这是最近碰到的一个令人头疼的问题,对于不会用linux的人来说,不熟悉掌握并看懂指令的输出结果是一个致命的问题,可能导致花费大量的时间陷入怪圈。

ps:ip a指令输出结果:

参考文章:
Linux指令大全
深入了解 Linux 网卡和网口:揭秘网络接口的奥秘
lspci命令输出的一些解释

相关内容

热门资讯

实测交流透视挂!宝玛大厅ai智... 实测交流透视挂!宝玛大厅ai智能透视挂教程,宝玛大厅破解软件经验(本来有挂辅助)1、每一步都需要思考...
总算了解辅助器!朱雀吴江三缺一... 总算了解辅助器!朱雀吴江三缺一ai智能透视辅助挂技巧,朱雀吴江三缺一好像是有挂(有辅助挂细节)朱雀吴...
今日公布透视!九五至尊大厅ai... 今日公布透视!九五至尊大厅ai智能透视插件,九五至尊大厅有没有透视挂窍门(切实有挂技术)1、在九五至...
玩家必看科普开挂!聚闲麻将ai... 玩家必看科普开挂!聚闲麻将ai智能透视辅助挂软件,聚闲麻将总是真的有挂(有辅助挂方式)聚闲麻将能透视...
据报道开挂!旅游娱乐ai智能开... 据报道开挂!旅游娱乐ai智能开挂工具,旅游娱乐辅助工具演示(一直有挂教学)1、全新机制【旅游娱乐ai...
一分钟揭秘开挂!决胜朋来麻将a... 一分钟揭秘开挂!决胜朋来麻将ai智能透视辅助挂教程,决胜朋来麻将真是真的是有挂(有辅助挂总结)1、首...
如何分辨真伪透视!红牛ai智能... 如何分辨真伪透视!红牛ai智能透视攻略,红牛是不是有挂经验(真是有挂技术)1、操作简单,无需红牛手机...
2分钟细说辅助器!江湖大庆麻将... 2分钟细说辅助器!江湖大庆麻将ai智能透视辅助挂攻略,江湖大庆麻将竟然是真的有挂(有辅助挂头条)1、...
总算清楚透视挂!老夫子厅ai智... 总算清楚透视挂!老夫子厅ai智能透视挂技巧,老夫子厅怎么开挂课程(好像发现有挂)老夫子厅破解侠是真的...
解密关于辅助!菜鸟麻将ai智能... 解密关于辅助!菜鸟麻将ai智能透视辅助挂脚本,菜鸟麻将总是存在有挂(有辅助挂存在)1、用户打开应用后...