Ispci命令详解

2023-11-11

说明:
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 设备数据 (支持两种模式:普通和冗余),便於稿本解析。
-M
使用总线映射模式,这种模式对总线进行全面地扫描以查明总线上的所有设备,包括配置错误的桥之后的设备。请注意,此操作只应在调试时使 用,并可能造成系统崩溃 (只在设备有错误的时候,但是不幸的是它们存在),此命令只有 root 可以使用。同时,在不直接接触硬体的 PCI 访问模式中使用 -M 参数没有意义,因为显示的结果 (排除 lspci 中的 bug 的影响) 与普通的列表模式相同。
--version
显示 lspci 的版本。这个选项应当单独使用。

PCILIB 选项 PCILIB OPTIONS
PCI 工具使用 PCILIB (一种可移植的库,提供平台独立的函数来访问 PCI 配置空间)来和PCI卡交互。下面的选项用来控制库参数,特别是所用访问模式的指定。预设情况下,PCILIB 使用第一种可用的访问模式,不会显示任何调试信息。每一个开关选项都列出了一组它所支持的硬件/软软件列表。
-P <dir>
使用 linux 2.1 风格的配置,直接访问目录 <dir> 而非 /proc/bus/pci 目录。(只能在linux 2.1或以上版本中使用)
-H1
通过 Intel 架构 1 来实现直接硬体访问。(只能用於 i386 及其相容机)
-H2
通过Intel 架构2来实现直接硬体访问。警告:此模式只能寻址任何总线上的前16个设备,并且在很多情况下相当不可靠。(只能用於 i386 及其相容机)
-S
使用 PCI 系统调用访问。(只能用於 Alpha  Ultra-Sparc 上的 Linux)
-F <file>
从所给的包含 lspci -x命令输出的档案中获取相关信息。这在分析使用者提交的错误报告时很有用,因为你可以用任何方式来显示硬体配置信息而无需为了获取更多信息打扰使用者。(可用於所有系统)
-G
增加库的调试等级。(可用於所有系统)

实例: 实例1:不必加上任何选项,就能够显示出目前的硬件配备

# lspci
00:00.0 Host bridge: Intel Corporation 3200/3210 Chipset DRAM Controller  //主板芯片
00:19.0 Ethernet controller: Intel Corporation 82566DM-2 Gigabit Network Connection (rev 02)
00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 02)
00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 02)
00:1a.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 02)
00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 02)  //USB控制器
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 02)  //接口插槽
00:1c.4 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92)
00:1f.0 ISA bridge: Intel Corporation 82801IR (ICH9R) LPC Interface Controller (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02)
00:1f.5 IDE interface: Intel Corporation 82801I (ICH9 Family) 2 port SATA IDE Controller (rev 02)
02:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G200e [Pilot] ServerEngines (SEP1) (rev 02)  //显卡
03:02.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller (rev 05)  //网卡

 
实例2:查看一般详细信息

# lspci -v
00:00.0 Host bridge: Intel Corporation 3200/3210 Chipset DRAM Controller
        Subsystem: Intel Corporation Unknown device 34d0
        Flags: bus master, fast devsel, latency 0
        Capabilities: [e0] Vendor Specific Information

00:19.0 Ethernet controller: Intel Corporation 82566DM-2 Gigabit Network Connection (rev 02)
        Subsystem: Intel Corporation Unknown device 34d0
        Flags: bus master, fast devsel, latency 0, IRQ 50
        Memory at e1a00000 (32-bit, non-prefetchable) [size=128K]
        Memory at e1a20000 (32-bit, non-prefetchable) [size=4K]
        I/O ports at 20e0 [size=32]
        Capabilities: [c8] Power Management version 2
        Capabilities: [d0] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable+
        Capabilities: [e0] #13 [0306]

 
实例3:查看网卡详细信息

# lspci -s 03:02.0 -vv  //-s后面接的是每个设备的总线、插槽与相关函数功能
03:02.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller (rev 05)
        Subsystem: Intel Corporation Unknown device 34d0
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr+ Stepping- SERR+ FastB2B-
        Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <tabort- <mabort- >SERR- <perr-
        Latency: 32 (63750ns min), Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 209
        Region 0: Memory at e1920000 (32-bit, non-prefetchable) [size=128K]
        Region 1: Memory at e1900000 (32-bit, non-prefetchable) [size=128K]
        Region 2: I/O ports at 1000 [size=64]
        Expansion ROM at fffe0000 [disabled] [size=128K]
        Capabilities: [dc] Power Management version 2
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=1 PME-
        Capabilities: [e4] PCI-X non-bridge device
                Command: DPERE- ERO+ RBC=512 OST=1
                Status: Dev=00:00.0 64bit- 133MHz- SCD- USC- DC=simple DMMRBC=2048 DMOST=1 DMCRS=8 RSCEM- 266MHz- 533MHz-

 
附录:
附录1:为了能使用这个命令所有功能,你需要有 linux 2.1.82 或以上版本,支持 /proc/bus/pci 接口的核心。在旧版本核心中,PCI工具必须使用只有root才能执行的直接硬体访问,而且总是出现竞争状况以及其他问题。
如果你要报告 PCI 设备驱动中,或者是 lspci 自身的 bugs,请在报告中包含 “lspci -vvx” 的输出。

附录2:CentOS bash: lspci: command not found解决方法
大多使用/sbin/lspci即可,我发现我的系统中/sbin下也没有。使用yum install lspci显示没有这个包。

# yum whatprovides */lspci
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.grandcloud.cn
 * extras: mirrors.163.com
 * updates: mirrors.grandcloud.cn
base/filelists                                                                                                                                  | 3.6 MB     00:16
extras/filelists_db                                                                                                                             | 241 kB     00:00
updates/filelists_db                                                                                                                            | 2.4 MB     00:19
pciutils-3.1.7-5.el5.x86_64 : PCI bus related utilities  //这里显示的pciutils-3.1.7-5.el5.x86_64
Repo        : base
Matched from:
Filename    : /sbin/lspci

pciutils-3.1.7-3.el5.x86_64 : PCI bus related utilities.
Repo        : installed
Matched from:
Filename    : /sbin/lspci

因此只需要yum install pciutils即可

附录3.lspci用到的文件
/usr/share/hwdata/pci.ids:所有已知 PCI ID 的清单 (厂商,设备名,类,子类)
/proc/bus/pci:linux 2.1.82 之后版本核心提供的 PCI 总线配置空间的接口。包含每个总线 (per-bus) 的子目录以及每个设备卡 (per-card) 的配置空间档案,还有一个 devices 档案,包含所有PCI设备的列表


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ispci命令详解 的相关文章

  • 删除 Python 中某些操作的 root 权限

    在我的 Python 脚本中 我执行了一些需要 root 权限的操作 我还创建并写入文件 我不想由 root 独占所有 而是由运行我的脚本的用户独占所有 通常 我使用以下命令运行脚本sudo 有办法做到上述吗 您可以使用以下方式在 uid
  • fgets() 和 Ctrl+D,三次才能结束?

    I don t understand why I need press Ctrl D for three times to send the EOF In addition if I press Enter then it only too
  • “./somescript.sh”和“. ./somescript.sh”有什么区别

    今天我按照一些说明在 Linux 中安装软件 有一个需要首先运行的脚本 它设置一些环境变量 指令告诉我执行 setup sh 但是我执行时犯了一个错误 setup sh 所以环境没有设置 最后我注意到了这一点并继续进行 我想知道这两种调用脚
  • 在Linux中创建可执行文件

    我计划做的一件事是编写 非常简单的 Perl 脚本 并且我希望能够在不从终端显式调用 Perl 的情况下运行它们 我明白 要做到这一点 我需要授予他们执行权限 使用 chmod 执行此操作非常简单 但它似乎也是一个稍微费力的额外步骤 我想要
  • 路由是否会影响具有绑定源地址的套接字?

    假设我有两个网络接口 eth0有地址10 0 0 1 eth1有地址192 168 0 1 Using route or ip route add我已将其设置为路由 所有地址至eth0 1 2 3 4只为了eth1 所以数据包到1 2 3
  • 即使使用 rvm pkg install zlib 后也无法加载此类文件 -- zlib

    我使用 rvm 安装了 zlib 包和 ruby 1 9 3 但是每当我尝试安装时 它说宝石cannot load such file zlib 我用来安装的命令是 rvm install 1 9 3 rvm pkg install zli
  • Linux 阻塞与非阻塞串行读取

    I have 这段代码 https stackoverflow com questions 6947413 how to open read and write from serial port in c用于在Linux中从串行读取 但我不
  • 有没有办法只安装mysql客户端(Linux)? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有没有不需要安装整个mysql db安装包的Linux mysql命令行工具 我想做的是从服务器 1 应用程序服务器 执行将在服务器 2
  • Linux mremap 不释放旧映射?

    我需要一种方法将页面从一个虚拟地址范围复制到另一个虚拟地址范围 而无需实际复制数据 范围很大 延迟很重要 mremap 可以做到这一点 但问题是它也会删除旧的映射 由于我需要在多线程环境中执行此操作 因此我需要旧映射能够同时使用 因此稍后当
  • 如何防止 CMake 在构建时(而不是安装时)为共享库创建符号链接?

    我正在使用 CMake 在 Linux 上使用 Bullet3 构建一个项目 在构建整个解决方案时 它会构建附加了 SOVERSION 的 Bullet 输出库 并创建一个不带版本的符号链接 对于我的特定场景 我不喜欢这种行为 并且我不想编
  • 有没有办法让 Linux CLI IO 重定向持久化?

    我有多个管道命令 如下所示 find options grep options xargs grep options 它们中的每一个都可能产生我不感兴趣的错误 权限错误 文件名空格错误等 因此 我想将所有错误重定向到 dev null 我知
  • ubuntu 中的 echo -e 选项不起作用

    我的同事使用Ubuntu 我使用openSUSE 我们使用相同的makefile编译相同的源代码 我的环境运行良好 但我的同事不能 总是输出无法识别 e选项 我们检查makefile 只发现echo命令使用 e option Ubuntu的
  • 如何从python导入路径中删除当前目录

    我想使用 Mercurial 存储库hg本身 也就是说 我克隆了 Mercurialhttps www mercurial scm org repo hg https www mercurial scm org repo hg并想运行一些h
  • 对于客户端服务器程序,并行接收多个客户端连接请求的最佳方法是什么?

    该程序是在 Linux 上用 C 语言开发的客户端服务器套接字应用程序 每个客户端都连接到一个远程服务器并将其自身记录为在线 在任何给定时间点很可能有多个客户端在线 所有客户端都尝试连接到服务器以将自己记录为在线 忙碌 空闲等 那么服务器如
  • Tk 初始化失败:无显示名称且无 $DISPLAY 环境变量

    我试图从 Ubuntu 终端调用 Centos 服务器上的工具 我收到以下错误 Tk 初始化失败 没有显示名称 也没有 DISPLAY 环境变量 请帮我解决这个问题 提前致谢 连接到你的 CentOS 机器ssh Y其中 每man ssh
  • 在 macOS 上更改 libpcap 版本(Apple 删除了一项功能)

    我只想使用 tcpdump 和 Ubuntu 上提供的相同 Qout 功能 在 macOS 上 tcpdump 和 libpcap 已被剥离使用 Qout 进行过滤的功能 tcpdump Qout nnSX c 10 w packet pc
  • bash.sh 运行 cron 的权限被拒绝

    如何在这里使用 bash 脚本运行 cron 我做了如下操作 这里有错误 我想知道如何在 ubuntu 中做到这一点 我现在对它感到震惊 bash sh 文件 bin bash cd var www Controller usr bin p
  • 安装失败:无法在 ubuntu 上的 WordPress nginx 中创建目录

    我在本教程的帮助下设置了 WordPress 如何在 ubuntu 18 04 上使用 LEMP 安装 WordPress https www digitalocean com community tutorials how to inst
  • 检查 Linux 中给定进程的打开 FD 限制

    我最近有一个 Linux 进程 泄露 了文件描述符 它打开了文件描述符 但没有正确关闭其中一些文件描述符 如果我对此进行监控 我就可以提前得知该过程已达到其极限 有没有一种很好的 Bash 或 Python 方法来检查 Ubuntu Lin
  • 无法使用 tar -cvpzf 解压完整目录

    把我的头敲在这上面 I used tar cvpzf file tar gz压缩一个完整的目录 我将文件移动到另一台服务器 并尝试解压缩复制存档的目录 无法使其发挥作用 bash 3 2 tar xvpzf news tar gz tar

随机推荐

  • selenium解决下拉表单和浏览器下拉进度条问题的问题

    1 有的时候使用selenium自动化模块时会遇到下拉表单的问题 name如何解决这个问题呢 Selenium专门提供了Select类来处理下拉框 导入 Select 类 from selenium webdriver support ui
  • 网站发布一般步骤以及解决方法

    1 在D盘 随便一个地方 新建文件夹 2 在vs项目中点击发布弹出对话框 3 配置文件选择自定义 4 下一步 Publish method 选择file system 5 target location选择第一步创建的文件夹 6 下一步 f
  • 《软件测试的艺术》

    1 每当测试一个程序时 应当想到要为程序增加一些价值 通过测试来增加程序的价值 是指测试提高了程序的可靠性或质量 提高了程序的可靠性 是指找出并最终修改了程序的错误 因此 不要只是为了证明程序能够正确运行而去测试程序 相反 应该一开始就假设
  • datetime数据类型在页面上的显示不完全

    下面两个代码全包含在script标签中 function fmtDate sDate var dt new Date sDate var y dt getFullYear var m dt getMonth 1 var d dt getDa
  • 用VS2015开发Linux程序

    1 开发工具 VS2015Update3 Visual C for Linux Development VC Linux exe 下载链接 介绍 VMware 虚拟机软件 ubuntu 16 04 desktop amd64 iso Lin
  • C# 预处理器指令(学习心得 24)

    预处理器指令 指导编译器在实际编译开始之前对信息进行预处理 所有的预处理器指令都是以 开始 在一行上 只有空白字符可以出现在预处理器指令之前 预处理器指令不是语句 所以它们不以 分号 结束 一个预处理器指令必须是该行上的唯一指令 超级小白友
  • Mysql 一主多备安装部署文档

    Mysql 一主多备安装部署文档 文章目录 Mysql 一主多备安装部署文档 1 主节点配置 1 1 my cnf 配置 1 2 配置同步账号 1 3 授权同步账号 1 4 授权远程登录 1 5 刷新 1 6 查看Master状态 2 Sl
  • vmware workstation 16 player 导出虚拟机ovf文件

    vmware workstation 16 player 导出虚拟机ovf文件 1 找到vm的ovftool 位于C Program Files x86 VMware VMware Player OVFTool 2 找到虚拟机对应 vmx文
  • MATLAB对csv文件的某一列数据进行数据处理

    clc clear all close all M csvread shui A Aref csv 1 2 N csvread kongA Aref csv 1 2 baseline 1 mean M 1 16 baseline 2 mea
  • UWB的定位算法(简单详细易懂)

    系列文章目录 文章目录 系列文章目录 前言 一 控制部分 二 UWB 的测距原理是什么 三 TOF 数学计算 四 Trilateration 三边测量法的原理与计算方法 TDOA平面 1 三边测量法的缺陷是 2 Z 轴准确度比 X 轴 Y
  • 多项目同时进行,如何做好项目管理?

    大部分企业在运营过程中一般会存在多个项目并行推进的情况 一段时间只运营一个项目的情况已经很少 无论是对项目管理者还是项目执行者而言 多项目同时进行比单项目运行更具挑战 多项目管理一般会存在各项目之间抢资源 资源冲突 资源分配不合理 可能存在
  • 使用node-forge pki进行RSA加密

    先放npm官方文档 www npmjs com package node forge 在知道RSA加密的大致原理后 再往下看 使用例子 简单写个方法 引入依赖 import forge from node forge base64转换 一般
  • 第十届蓝桥杯决赛B组:排列数

    这题我们用动态规划做 首先我们来找规律 对于一个递增的数列 如123456 我们插入一个数 这个数大于数列中所有的数 这里插入7 如果不插在两端 1 6 的数两侧 则增加了两个拐点 如1273456 插在 1 6 的内测 有两种情况 如17
  • win2008+IIS7.5+VS2013+4.5netframework,HTTP 错误 404.0 - Not Found 错误代码 0x80070002 解决办法

    win2008系统IIS7 5部署网站后访问首页正常 但访问其他地址时出错 如 访问http localhost ARCIMS Website lanzfc veiwers htm出错 错误如下 应用程序 DEFAULT WEB SITE
  • [论文阅读笔记77]LoRA:Low-Rank Adaptation of Large Language Models

    1 基本信息 题目 论文作者与单位 来源 年份 LoRA Low Rank Adaptation of Large Language Models microsoft International Conference on Learning
  • 2019新年flag

    多的不说了 直接立flag吧 看看年底的时候完成情况 dubbo的细节回顾结合dubbo面试题进行学习 netty的项目总结和源码学习 es的源码学习 系统学习 结合脑图 要有输出 数量不在多 在于精 多运动 多读书 少看直播
  • UI Automation编程辅助工具Inspect的下载和使用

    UIAutomation微软提供的UI自动化库 主要用AutomationElement类来表示UI 自动化目录树中的一个UI自动化元素 NET Windows的窗体应用程序和WPF应用程序 Inspect是一款类似于SPY的界面捕捉工具
  • 拉普拉斯的原理

    拉普拉斯是一种二阶导数算子 是一个与方向无关的各向同性 旋转轴对称 边缘检测算子 若只关心边缘点的位置而不顾其周围的实际灰度差时 一般选择该算子进行检测 拉普拉斯算子为二阶差分 其方向信息丢失 常产生双像素 对噪声有双倍加强作用 因此它很少
  • ng-model指令

    ng model指令作用是绑定HTML表单元素到AngularJS应用程序数据中 即 scope变量中 语法
  • Ispci命令详解

    说明 lspci 是一个用来显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具 参数 v 使得 lspci 以冗余模式显示所有设备的详细信息 vv 使得 lspci 以过冗余模式显示更详细的信息 事实上是 PCI 设备能给出的所有