当前位置:网站首页 > 技术博客 > 正文

lspci命令查看网卡



当在个人电脑或服务器上运行 Linux 时,有时需要识别该系统中的硬件。lspci 命令用于显示连接到 PCI 总线的所有设备,从而满足上述需求。该命令由 pciutils 包提供,可用于各种基于 Linux 和 BSD 的操作系统。

在这里插入图片描述

基础用法

当普通用户运行 lspci 时,显示的信息可能会受到访问权限限制。使用 sudo 运行该命令可以提供完整的信息。

以下是家庭媒体中心电脑的一个示例。它是一台基于 AMD Phenom CPU 的系统,具有 AMD 芯片组,它还配备了 Atheros 无线控制器和 Nvidia 显卡。

仅运行 lspci 会列出 PCI 总线及其连接的设备。所有硬件设备都列有供应商、名称和型号等详细信息。

 

详细输出

添加 选项会显示每个设备的详细信息,可以使用 或 来获取更多的设备细节。

在 -v 级别,lspci 会显示所有设备的各种子系统和内存地址、中断请求(IRQ)编号和一些其他功能信息。输出信息会非常长。在系统上试一试吧。

使用 grep 过滤搜索

可能会需要缩小搜索范围。例如,RPM Fusion 网站有安装 Nvidia 图形驱动程序的说明,里面就首先使用了 命令来定位显卡信息。下面是在笔记本电脑上得到的输出:

 

下面(LCTT 译注:原文为 “above”,应为作者笔误)的 grep 命令在媒体中心 PC 上定位了一个 VGA 设备,但没有显示 3D 设备。

 

按供应商 ID 搜索

还有另一种无需 grep 的方法可以使用。假设想确认一下此计算机是否有其他的 Nvidia 设备,在此之前们还需要一些额外信息,使用选项显示的供应商和设备 ID 号。在媒体中心 PC 上,此选项会给出 VGA 卡、供应商 ID 和设备 ID:

 

设备名称后的方括号内有用冒号分隔的数字,即供应商和设备 ID。输出表明 Nvidia Corporation 制造的设备的供应商 ID 为 10de。

选项用于指定供应商、设备或类 ID 的所有设备。以下是系统中的所有 Nvidia 设备(保留 以解析供应商 ID):

 

从输出中可以看到,除了显卡之外,还有一个 Nvidia 音频设备。实际上它们都属于同一张 Nvidia GeForce GTX 650 卡,但这仍然是一个很好的示例。

内核模块

结合 PCI 硬件设备,可以使用 选项显示内核加载了哪些驱动程序模块。将此选项添加到 lspci 命令来查看有关 Nvidia 设备的信息。

 

可以看到额外显示了两行:正在使用的内核驱动程序 (Kernel driver in use) 和 内核模块 (Kernel modules),其中后者列出了可用于支持该设备的模块。

同步最新状态

新设备和供应商总是在不断迭代。如果看到显示为 unknown 的设备,说明 PCI 设备 ID 数据库可能已过时。有两种方法可以检查更新。-Q 选项会使用 DNS 查询中央数据库,当然,这需要联网。

 

还可以通过运行命令 来更新本地 PCI ID 数据库。

 

【摘要】

命令可视为的组合功能。

lspci 将显示有关服务器中所有 PCI 总线的信息及有关连接到 PCI 和 PCIe 总线的所有硬件设备的信息(如 以太网卡、RAID 控制器、视频卡等)。

lspci 实用程序是 pciutils 软件包的一部分如果没有 pciutilis,请将其安装在系统上,如下所示。

 

默认情况下,它将显示所有设备信息,如下所示。第一个字段是槽信息,格式如下:[domain:]bus:device.function

在这个例子中,由于所有的域都是 0,所以 lspci 不会显示域。

 

注意:在下面的所有示例中,我们将通过从上面的列表中选择几个设备来仅显示部分输出。

如果要将 lspci 命令的输出传递给 shell 脚本,可能需要使用 -m 选项(或 -mm 选项),如下所示。

当要查看子系统信息时,此选项也很有帮助。例如,对于 RAID 控制器,默认输出只是说正在使用 LSI Logic RAID 控制器。但是,以下输出显示子系统,即 DELL PERC H700 集成 RAID 控制器系统。

 

-t 选项将以树格式显示输出,其中包含有关总线的信息,以及设备如何连接到这些总线,如下所示。输出将仅使用数字 ID。

 

如果想查看特定设备的详细信息,请使用 -v 获取更多信息。这将显示有关所有设备的信息。该命令的输出会很长,需要向下滚动查看相应的部分。

对于详细程度的附加级别,可以使用。

在以下示例中,我仅给出了 RAID 控制器设备的输出。

 

如果要显示 PCI 供应商代码,并且设备代码仅显示为数字,请使用 -n 选项。这不会查找 PCI 文件以获取数字的相应值。

 

如果要同时显示描述和编号,请使用选项 -nn,如下所示。

 

当知道 domain🚌slot.func 格式中的插槽号时,可以查询特定设备,如下所示。在下面的示例中,我们没有指定域号,因为它是 0,可以省略。

 

当知道 vendor:device 格式的设备编号时,可以查询特定设备,如下所示。

 

如果只知道供应商 ID 或设备 ID,则可以省略另一个 ID。例如,以下两个命令都将返回与上述相同的输出。

 

当想知道将处理特定设备操作的内核模块的名称时,这非常有用。请注意,此选项仅适用于 Kernel 2.6 及更高版本。

 

via:

  • lspci 命令用于显示 Linux 系统上的设备和驱动程 作者:Alan Formy-Duval LCTT 原创编译,Linux中国 荣誉推出 2021-09-17
    https://opensource.com/article/21/9/lspci-linux-hardware
  • 获取 PCI 总线硬件设备信息的 7 个 Linux lspci 命令示例-云社区-华为云 Tiamo_T 发表于 2022/09/08 16:41:32

    https://bbs.huaweicloud.com/blogs/

版权声明


相关文章:

  • 用select语句2024-11-30 23:30:05
  • 服务器监控方案2024-11-30 23:30:05
  • 武汉网络dns地址2024-11-30 23:30:05
  • java bitset用法2024-11-30 23:30:05
  • 大小端的区别以及各自的优点,哪种时候用2024-11-30 23:30:05
  • 小程序源码是什么意思2024-11-30 23:30:05
  • c十十在线编译器2024-11-30 23:30:05
  • c++ udp socket2024-11-30 23:30:05
  • 跨境电商shopee平台2024-11-30 23:30:05
  • oracle rac tns配置2024-11-30 23:30:05