• PCIe网卡查看工具


    今天测试部汇报了一个设备出现问题:” 8个1g电口 +8个1g光口+4个10g bp光口+4个10g非bp光口,其中有4个口没有up起来,ifconfig看不到接口“ 

    拿到这个问题我就在想:“怎样确定是不是只有4个网口没有up?ifconfig 只是一个查看内核虚拟设备,那么物理网卡设备呢? 怎样确定这个4个口就是测试人员所说的10g非bp光口?

    æÙ---所以为了弄清楚上述问题,需要确认什么信息,使用什么工具作为辅助?----

    物理拓扑:简要情况就是 网口插入PCIe板卡

    所以首先要确认PCIe板卡是否被识别!

    那么有什么工具帮助查看呢?

    linux 的lspci命令可以帮助查看

    • 执行lspci 命令如下:lspci |grep Eth
    03:00.0 Ethernet controller: Intel Corporation Device 1521 (rev 01)
    03:00.1 Ethernet controller: Intel Corporation Device 1521 (rev 01)
    03:00.2 Ethernet controller: Intel Corporation Device 1521 (rev 01)
    03:00.3 Ethernet controller: Intel Corporation Device 1521 (rev 01)
    04:00.0 Ethernet controller: Intel Corporation Device 1521 (rev 01)
    04:00.1 Ethernet controller: Intel Corporation Device 1521 (rev 01)
    04:00.2 Ethernet controller: Intel Corporation Device 1521 (rev 01)
    04:00.3 Ethernet controller: Intel Corporation Device 1521 (rev 01)
    07:00.0 Ethernet controller: Intel Corporation Device 1521 (rev 01)
    07:00.1 Ethernet controller: Intel Corporation Device 1521 (rev 01)
    07:00.2 Ethernet controller: Intel Corporation Device 1521 (rev 01)
    07:00.3 Ethernet controller: Intel Corporation Device 1521 (rev 01)
    08:00.0 Ethernet controller: Intel Corporation Device 1521 (rev 01)
    08:00.1 Ethernet controller: Intel Corporation Device 1521 (rev 01)
    08:00.2 Ethernet controller: Intel Corporation Device 1521 (rev 01)
    08:00.3 Ethernet controller: Intel Corporation Device 1521 (rev 01)
    0a:00.0 Ethernet controller: Intel Corporation Device 1533 (rev 03)
    0b:00.0 Ethernet controller: Intel Corporation Device 1533 (rev 03)
    0c:00.0 Ethernet controller: Intel Corporation Device 1572 (rev 02)
    0c:00.1 Ethernet controller: Intel Corporation Device 1572 (rev 02)
    0c:00.2 Ethernet controller: Intel Corporation Device 1572 (rev 02)
    0c:00.3 Ethernet controller: Intel Corporation Device 1572 (rev 02)

    可以看到 PCIe 数目不对,可知为PCIe板卡没有被识别到

    这次主要想说的问题是:

    0c:00.3 Ethernet controller: Intel Corporation Device 1572 (rev 02)
    这些数值是什么意思??

    以及lspci 还能查看那些信息; 除了lspci 还有哪些工具可以帮助分析问题

     先看lspci帮助:lspci - 列出所有PCI设备

    -v
        使得 lspci 以冗余模式显示所有设备的详细信息。 
    -vv
        使得 lspci 以过冗余模式显示更详细的信息 (事实上是 PCI 设备能给出的所有东西)。这些数据的确切意义没有在此手册页中解释,如果你想知道更多,请参照 /usr/include/linux/pci.h 或者 PCI 规范。 
    -n
        以数字形式显示 PCI 生产厂商和设备号,而不是在 PCI ID 数据库中查找它们。 
    -x
        以十六进制显示 PCI 配置空间 (configuration space) 的前64个字节映象 (标准头部信息)。此参数对调试驱动和 lspci 本身很有用。 
    -xxx
        以十六进制显示所有 PCI 配置空间的映象。此选项只有 root 可用,并且很多 PCI 设备在你试图读取配置空间的未定义部分时会崩溃 (此操作可能不违反PCI标准,但是它至少非常愚蠢)。 
    -b
        以总线为中心进行查看。显示所有 IRQ 号和内存地址,就象 PCI 总线上的卡看到的一样,而不是内核看到的内容。 
    -t
        以树形方式显示包含所有总线、桥、设备和它们的连接的图表。 
    -s [[<bus>]:][<slot>][.[<func>]]
        仅显示指定总线、插槽上的设备或设备上的功能块信息。设备地址的任何部分都可以忽略,或以“*”代替 (意味着所有值)。所有数字都是十六进制。例如:“0:”指的是在0号总线上的所有设备;“0”指的是在任意总线上0号设备的所有功能块;“0.3”选择 了所有总线上0号设备的第三个功能块;“.4”则是只列出每一设备上的第四个功能块。 
    -d [<vendor>]:[<device>]
        只显示指定生产厂商和设备 ID 的设备。 这两个 ID 都以十六进制表示,可以忽略或者以“*”代替 (意味着所有值)。 
    -i <file>
        使用 <file> 作为 PCI ID 数据库而不是使用默认的 /usr/share/hwdata/pci.ids。 
    -p <dir>
        使用 <dir> 作为包含 PCI 总线信息的目录而不是使用默认的目录 /proc/bus/pci。 
    -m
        以机器可读的方式转储 PCI 设备数据 (支持两种模式:普通和冗余),便于脚本解析。 

    常用问题&命令:

    首先在x86系统中PCIe支持256个Bus, 每条Bus支持32个Device, 每个Device支持8个Function,所以PCIe设备关键信息组成为:DBDF(Domain,Bus,Deivce,Function)

    PCIe的拓扑和Linux的PCIe ID

    lspci –vt

     所以使用lspci  -vt  可以查看PCIe拓扑;根据拓扑就可以看出,接入几个板卡,每个板卡下面接入了多少设备

    dmidecode –t slot”命令查看PCIE Slot的信息

     dmidecode,读取DMI表中的数据来提取硬件信息,可查看bios,cpu,memory等信息

    结合/proc和/sys可以查询硬件使用的驱动信息

  • 相关阅读:
    linux 下监控进程流量情况命令 NetHogs
    tensorflow学习官网地址
    zabbix 报表
    zabbix性能优化等
    awk输出匹配内容的所在列数
    zabbix api支持的数据类型
    ss命令能识别的TCP状态的关键字
    数据分析初识、Anaconda安装、Juypyter notebook配置与快捷键
    Flask框架(五)之SQLAlchemy
    Flask框架(四)之信号
  • 原文地址:https://www.cnblogs.com/codestack/p/14042843.html
Copyright © 2020-2023  润新知