Dabai的个人博客

Linux查看硬件设备信息

硬件信息的查询和系统的内核和驱动相关,下面是在Linux系统下常用的查看硬件设备信息的方法。

  1. PCI介绍

    PCI是Peripheral Component Interconnect(外设部件互连标准)的缩写,它是目前个人电脑中使用最为广泛的接口,几乎所有的主板产品上都带有这种插槽。PCI插槽也是主板带有最多数量的插槽类型,在目前流行的台式机主板上,ATX结构的主板一般带有5~6个PCI插槽,而小一点的MATX主板也都带有2~3个PCI插槽,可见其应用的广泛性。

  2. lspci

    lspci列出所有连接到 PCI 总线的详细信息,例如:显卡、网卡、USB 接口及 SATA 控制器等设备,该命令检查硬件设备不依赖于系统是否安装有该硬件对应的驱动模块
    http://superuser.com/questions/165733/will-lsusb-and-lspci-list-devices-for-which-the-system-has-no-drivers

    常用的命令有:

    1
    lspci -v

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

    1
    2
    3
    4
    5
    $lspci
    ...
    02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
    $ find /sys | grep drivers.*02:00
    /sys/bus/pci/drivers/r8169/0000:02:00.0

    可以看出使用的以太网卡的驱动是r8169。
    http://unix.stackexchange.com/questions/41817/linux-how-to-find-the-device-driver-used-for-a-device

  3. dmidecode

    dmidecode,读取DMI表中的数据来提取硬件信息,可查看bios,cpu,memory等信息
    如sudo dmidecode -t memory可查看设备可支持的最大物理内存,当前内存大小,设备内存插槽个数及使用情况等。类似查看硬件信息的命令还有lshw:

    1
    sudo lshw -C net
  4. lscpu

    列出cpu信息,如:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    [optnetlab@ustc ~]$ lscpu
    Architecture: x86_64 #cpu构架
    CPU op-mode(s): 32-bit, 64-bit #支持的操作系统
    Byte Order: Little Endian
    CPU(s): 4 #逻辑CPU个数
    On-line CPU(s) list: 0-3 #可使用的逻辑CPU
    Thread(s) per core: 2 #每个核的线程数
    Core(s) per socket: 2 #每个cpu插槽核数/每颗物理cpu核数是2
    Socket(s): 1 #CPU插槽个数
    NUMA node(s): 1
    Vendor ID: GenuineIntel
    CPU family: 6
    Model: 42
    Stepping: 7
    CPU MHz: 1600.000 #CPU主频
    BogoMIPS: 6584.65
    Virtualization: VT-x #CPU支持虚拟化
    L1d cache: 32K #L1缓存
    L1i cache: 32K
    L2 cache: 256K
    L3 cache: 3072K
    NUMA node0 CPU(s): 0-3

    类似的还有lsusb

  5. fdisk和df

    fdisk和df分别用来查看磁盘分区和文件系统的信息。

    1
    2
    fdisk -l
    df -hT
  6. 其它常用命令

    查看系统物理内存及交换分区信息:

    1
    free -h

    查看cpu或memory信息:

    1
    2
    cat /proc/cpuinf
    cat /proc/meminf