首页 > 系统相关 >【Linux 管理】如何将 PCI Bus 地址和物理 PCI 插槽对应

【Linux 管理】如何将 PCI Bus 地址和物理 PCI 插槽对应

时间:2022-10-18 11:36:06浏览次数:85  
标签:Bus Linux 地址 PCI 插槽 lspci 显卡

前言

事情是这样的:实验室做机器学习的服务器挂了一张显卡。这台服务器总共有8张 RTX 2080 Ti 显卡,现在使用 nvidia-smi 查看显卡信息,只能检测到七张显卡。

image

查看连接到服务器的 NVIDIA 设备

我们首先使用 lspci 查看连接到服务器的 NVIDIA 设备和它们的 PCI Bus 地址:

$ lspci | grep -i vga

image

一共有8张显卡通过 PCI 插槽连接到计算机,最前面是这些设备的 PCI Bus 地址。

查看在线显卡的 PCI Bus 地址

我们还是使用 nvidia-smi 查看在线显卡的信息:

$ nvidia-smi -a | grep -i bus

image

可以看到唯一没有显示的 Bus Id 是 3e:00.0

查看特定 Bus Id 上的设备详细信息

我们使用 lspci 查看 Bus Id 是 3e:00.0 的设备的详细信息,有时候这些信息会很有帮助,但我们现在的主要目标是找到该地址对应的物理插槽:

$ sudo lspci -vv -s 3e:00.0

image

查看物理插槽的信息

在这里我们要使用 dmidecode 命令。使用该命令可以查询BIOS、系统、主板、处理器、内存、缓存等非常重要信息。

使用下面的命令打印 System Slot Information,也就是加上参数 -t 9

$ sudo dmidecode -t 9

我们就可以在里面找到 PCI Bus 地址对应的插槽编号:

image

其中 ID 对应插槽编号:

注意:PCI SLOT 编码可能从1开始也可能从0开始,我遇到的情况是从1开始编号,参考资料2中从0开始编号

我们也可以用下面的命令打印插槽与 PCI Bus 地址的对应关系:

$ sudo dmidecode -t 9 |awk '/ID:/ {id=$2} /Bus Address/ {print "Slot",id,"PCIe",$3}'

image

Bus Id 是 3e:00.0 的设备对应插槽18。

当然我现在手边没有工具和防静电手环,没办法打开服务器亲自验证一下,还是得等售后人员上门维修。

最后还是希望把这个将 PCI Bus 地址和物理 PCI 插槽对应的方法介绍给大家,我自己也存个档,防止日后遇到类似问题重新查资料。

参考资料

  1. Linux常用命令dmidecode命令具体使用方法

  2. How does lspci find out physical slot number of a PCI(E) device? - Stack Overflow

标签:Bus,Linux,地址,PCI,插槽,lspci,显卡
From: https://www.cnblogs.com/joexu01/p/16802021.html

相关文章

  • linux limit文件最大打开数
    目录linuxlimit文件最大打开数修改文件句柄数查看当前大小openfiles临时修改永久修改修改maxuserprocesses进程数临时修改永久修改调整vm.max_map_count的大小查看当前......
  • Linux系统之Bash命令(防火墙)
    Linux系统之Bash命令(防火墙)一、防火墙状态查询、开启、关闭、重启#注意:CentOS6的话防火墙还是iptables,如果是CentOS7的话防火墙就是firewallfirewall-cmd--state#......
  • Linux 下搭建 Hadoop 环境
    Linux下搭建Hadoop环境作者:Grey原文地址:博客园:Linux下搭建Hadoop环境CSDN:Linux下搭建Hadoop环境环境要求操作系统:CentOS7下载地址安装说明需要准备两个......
  • 【2022.10.18】Linux入门基础(1)
    内容概要主题:linux运维(记)linux基础几乎以记忆为主(理论知识)运维的本质服务器介绍服务器品牌服务器参数服务器组件磁盘阵列虚拟化技术虚拟化软件安装虚......
  • linux
    主题:linux运维(记)linux基础几乎以记忆为主(理论知识)知识点很简单但是需要记忆的东西非常非常的多并且没有太多逻辑性运维的本质服务器介绍服务器品牌服务器参......
  • linux基础
    今日内容概要运维简介服务器的种类和品牌服务器重要组成操作系统发展史虚拟化(windows)安装操作系统今日内容详细运维简介运维核心:运行维护应用程序MySQL运......
  • Golang入门:Linux上的go语言安装与配置
    Tips:本文以本文撰写时的Go语言最新版本,也就是go.1.19.2版本为例。Linux发行版本使用Ubuntu22.04.1LTS为例来做演示。安装C工具Go的工具链是用C语言编写......
  • linux驱动移植-linux块设备驱动Nor Flash
    在进行Mini2440uboot移植的时候,我们介绍了NorFlash相关的硬件知识,当时我们使用的NorFlash型号为S29AL016D70TF102,大小为2MB。后来由于开发板的网卡坏了,所以换了一块板......
  • Linux命令bc
    Linux 命令 任意精度的计算器 bc输入命令bc,会进入交互命令行obase是用来设置输出的数值进制,例如:obase=2,设置输出的进制为2进制。ibase设置输入的数值进制scale变量控......
  • Linux网络配置
    介绍本文介绍几个常见Linux系统的网络配置。SuSE网络配置网卡地址信息配置文件为:/etc/sysconfig/network/ifcfg-eth0网关配置文件为:/etc/sysconfig/network/routesDNS配置......