1. lshw

使用lshw命令可以查看服务器硬件配置的详细信息。使用它可以在支持DMI的x86或IA-64系统以及某些PowerPC机器上打印内存配置、固件版本、主板配置、CPU版本、G4可以工作)。目前该命令支持 CPU频率、缓存、总线速度等信息(已知PowerMac DMI(仅限x86和IA-64)、OpenFimware设备树(仅限PowerPC)、PCI/AGP、CPUID(x86)、IDE/ATA/ATAPI、PCMCIA(仅在x86上测试)、SCSI和USB等信息的查看。

使用方法:

lshw [ -version ]
1.命令行选项
  • -version:显示lshw程序的版本号。
  • -help:显示可用的命令行选项。
  • -X:启动X11 GUI(如果可用的话)。
  • -html:将设备树输出信息保存为HTML格式文件(不支持与-short选项同时使 用)。
  • -xml:将设备树输出信息保存为XML格式文件(不支持与-short选项同时使用)。
  • -short:输出简短的显示硬件路径的设备树信息,非常类似于HP-UX的ioscan输出 格式。
  • -businfo:输出总线信息的设备列表(包含总线地址信息),详细说明SCSI、 USB、IDE和PCI的总线地址。
  • -class:仅显示给定的硬件类别信息。有效值为使用lshw -short或lshw -businfo输出信息中的class名称(输出第三列值)。-C为-class的别名,相当于简短格式选项。
  • -enable/-disable:启用或禁用某项检测。有效值如下。
    dmi,用于DMI/SMBIOS扩展。
    device-tree,用于OpenFirmware设备树。
    spd,用于内存串行存在检测。
    memory,用于内存大小猜测启发式。
    cpuinfo,用于内核报告信息中的CPU检测。
    cpuid,用于CPU检测。
    pci,用于PCI/AGP访问。
    isapnp,用于ISA PnP扩展。
    pcmcia,用于PCMCIA/PCCARD。
    ide,用于IDE/ATAPI。
    usb,用于USB设备。
    scsi,用于SCSI设备。
    network,用于网络接口检测。
  • -quiet,不显示状态。
  • -sanitize,从输出信息中删除可能敏感的信息(如IP地址、序列号等)。
  • -numeric,显示数字ID(用于PCI和USB设备)。
2.查看硬件型号

先使用lsblk命令查看磁盘的设备名称和容量的对应关系:

root@VM-4-5-ubuntu:~# lsblk
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0     11:0    1  17M  0 rom  
vda    252:0    0  40G  0 disk 
└─vda1 252:1    0  40G  0 part /

再使用ip addr命令查看网卡接口名称和IP地址的对应关系:

root@VM-4-5-ubuntu:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 52:54:00:56:11:4f brd ff:ff:ff:ff:ff:ff
    inet 10.0.4.5/22 brd 10.0.7.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe56:114f/64 scope link 
       valid_lft forever preferred_lft forever

接下来使用lshw命令可以一次性查看大部分设备的型号信息(也可以不使用简短格式,但是详尽格式内容过长,文本格式不便阅读):

root@VM-4-5-ubuntu:~# lshw -short
H/W path      Device      Class      Description
================================================
                          system     CVM
/0                        bus        Motherboard  #主板型号
/0/0                      memory     96KiB BIOS
/0/400                    processor  Intel(R) Xeon(R) Gold 6133 CPU @ 2.50GHz #CPU型号
/0/1000                   memory     2GiB System Memory #使用简短格式无法看到内存型号
/0/1000/0                 memory     2GiB DIMM RAM
/0/100                    bridge     440FX - 82441FX PMC [Natoma]
/0/100/1                  bridge     82371SB PIIX3 ISA [Natoma/Triton II]
/0/100/1.1                storage    82371SB PIIX3 IDE [Natoma/Triton II]
/0/100/1.2                bus        82371SB PIIX3 USB [Natoma/Triton II]
/0/100/1.2/1  usb1        bus        UHCI Host Controller
/0/100/1.3                bridge     82371AB/EB/MB PIIX4 ACPI
/0/100/2                  display    GD 5446
/0/100/3                  bridge     QEMU PCI-PCI bridge
/0/100/4                  bridge     QEMU PCI-PCI bridge
/0/100/5                  network    Virtio network device
/0/100/5/0    eth0        network    Ethernet interface
/0/100/6                  storage    Virtio block device
/0/100/6/0    /dev/vda    disk       42GB Virtual I/O device
/0/100/6/0/1  /dev/vda1   volume     39GiB EXT4 volume
/0/100/7                  generic    Virtio memory balloon
/0/100/7/0                generic    Virtual I/O device
/0/1          scsi0       storage    
/0/1/0.1.0    /dev/cdrom  disk       QEMU DVD-ROM
/0/1/0.1.0/0  /dev/cdrom  disk

由于使用简短格式无法查看到内存型号信息,所以下面使用了详尽格式,并使用- class选项指定简短格式的class输出列为memory字符串。

root@tbs-36:~# lshw -class memory
  *-firmware              
       description: BIOS
       vendor: American Megatrends Inc.
       physical id: 0
       version: 5.12
       date: 03/28/2018
       size: 64KiB
       capacity: 15MiB
       capabilities: pci upgrade shadowing cdboot bootselect socketedrom edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int14serial int17printer acpi usb biosbootspecification uefi
  *-memory
       description: System Memory
       physical id: 3d
       slot: System board or motherboard
       size: 16GiB
     *-bank:0
          description: SODIMM Synchronous 2400 MHz (0.4 ns)
          product: CBD24D4S7S8ME-8
          vendor: Kingston
          physical id: 0
          serial: C18C8ADE
          slot: ChannelA-DIMM0
          size: 8GiB
          width: 64 bits
          clock: 2400MHz (0.4ns)
     *-bank:1
          description: Project-Id-Version: lshwReport-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>POT-Creation-Date: 2009-10-08 14:02+0200PO-Revision-Date: 2012-10-07 14:34+0000Last-Translator: lumingzh <lumingzh@qq.com>Language-Team: Chinese (Simplified) <zh_CN@li.org>MIME-Version: 1.0Content-Type: text/plain; charset=UTF-8Content-Transfer-Encoding: 8bitX-Launchpad-Export-Date: 2016-07-20 12:06+0000X-Generator: Launchpad (build 18147)Project-Id-Version: lshwReport-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>POT-Creation-Date: 2009-10-08 14:02+0200PO-Revision-Date: 2012-10-07 14:34+0000Last-Translator: lumingzh <lumingzh@qq.com>Language-Team: Chinese (Simplified) <zh_CN@li.org>MIME-Version: 1.0Content-Type: text/plain; charset=UTF-8Content-Transfer-Encoding: 8bitX-Launchpad-Export-Date: 2016-07-20 12:06+0000X-Generator: Launchpad (build 18147) [empty]
          physical id: 1
          slot: ChannelA-DIMM1
     *-bank:2
          description: SODIMM Synchronous 2400 MHz (0.4 ns)
          product: CBD24D4S7S8ME-8 #内存型号
          vendor: Kingston
          physical id: 2
          serial: C58C90CE
          slot: ChannelB-DIMM0
          size: 8GiB
          width: 64 bits
          clock: 2400MHz (0.4ns)
     *-bank:3
          description: Project-Id-Version: lshwReport-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>POT-Creation-Date: 2009-10-08 14:02+0200PO-Revision-Date: 2012-10-07 14:34+0000Last-Translator: lumingzh <lumingzh@qq.com>Language-Team: Chinese (Simplified) <zh_CN@li.org>MIME-Version: 1.0Content-Type: text/plain; charset=UTF-8Content-Transfer-Encoding: 8bitX-Launchpad-Export-Date: 2016-07-20 12:06+0000X-Generator: Launchpad (build 18147)Project-Id-Version: lshwReport-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>POT-Creation-Date: 2009-10-08 14:02+0200PO-Revision-Date: 2012-10-07 14:34+0000Last-Translator: lumingzh <lumingzh@qq.com>Language-Team: Chinese (Simplified) <zh_CN@li.org>MIME-Version: 1.0Content-Type: text/plain; charset=UTF-8Content-Transfer-Encoding: 8bitX-Launchpad-Export-Date: 2016-07-20 12:06+0000X-Generator: Launchpad (build 18147) [empty]
          physical id: 3
          slot: ChannelB-DIMM1
  *-cache:0
       description: L1 cache
       physical id: 43
       slot: L1 Cache
       size: 128KiB
       capacity: 128KiB
       capabilities: synchronous internal write-back unified
  *-cache:1
       description: L2 cache
       physical id: 44
       slot: L2 Cache
       size: 512KiB
       capacity: 512KiB
       capabilities: synchronous internal write-back unified
  *-cache:2
       description: L3 cache
       physical id: 45
       slot: L3 Cache
       size: 3MiB
       capacity: 3MiB
       capabilities: synchronous internal write-back unified
  *-memory UNCLAIMED
       description: Memory controller
       product: Intel Corporation #内存型号
       vendor: Intel Corporation
       physical id: 1f.2
       bus info: pci@0000:00:1f.2
       version: 21
       width: 32 bits
       clock: 33MHz (30.3ns)
       capabilities: bus_master
       configuration: latency=0
       resources: memory:df324000-df327fff

使用lshw命令还可以生成一个详尽的HTML格式文件,使用浏览器打开之后更容易查 看到设备型号信息(也更容易看出哪些网卡接口、磁盘分区是属于同一个设备的)。

root@tbs-36# lshw -html > hardware.html

使用浏览器打开这个HTML文件,我们可以更容易地找到设备型号信息。

查看主板型号,如图40-1所示。

BIOS查看服务器MAC地址 服务器bios看配置_服务器


查看CPU型号,如图40-2所示。

BIOS查看服务器MAC地址 服务器bios看配置_服务器_02


查看内存型号,如图40-3所示。

BIOS查看服务器MAC地址 服务器bios看配置_服务器_03


查看阵列卡型号,如图40-4所示。

BIOS查看服务器MAC地址 服务器bios看配置_BIOS查看服务器MAC地址_04


查看网卡型号,如图40-7所示。

BIOS查看服务器MAC地址 服务器bios看配置_服务器_05


查看显卡型号,如图40-8所示。

BIOS查看服务器MAC地址 服务器bios看配置_BIOS查看服务器MAC地址_06

2. dmidecode

使用dmidecode命令可以读取/dev/mem二进制文件并进行解析,然后以人类可读的格式转储计算机的DMI(或者SMBIOS)表内容,该表中包含了系统硬件组件的描述,以及其他有用的信息(例如:BIOS序列号和版本信息)。借助此表的信息,虽然可以不需要实际去机房查看硬件的型号,但是这也使得查询的信息可能不可靠。 SMBIOS代表系统管理BIOS,而DMI代表桌面管理界面。这两个标准都与DMTF(桌面管理任务组)的开发紧密相关。 使用方法

dmidecode [OPTIONS]
1.命令行选项
  • -d, --dev-mem FILE:指定设备文件路径,通过设备文件读取内存信息(默认值 为/dev/mem)。
  • -q, --quiet:显示简短的输出信息。不显示未知的、非活动的和OEM特定条目信 息,并隐藏元数据和句柄引用信息。
  • -s, --string KEYWORD:仅显示指定的DMI类型字符串KEYWORD对应的信息。
    KEYWORD 必须是支持的有效关键字:bios-vendor、bios-version、bios-release- date、system-manufacturer、system-product-name、system-version、system-serial-number、 system-uuid、baseboard-manufacturer、baseboard-product-name、baseboard-version、 baseboard-serial-number、baseboard-asset-tag、chassis-manufacturer、chassis-type、chassis- version、chassis-serial-number、chassis-asset-tag、processor-family、processor- manufacturer、processor-version、processor-frequency。
    上述每个关键字表示一种DMI类型,但是在服务器环境中并非都支持。根据硬件 配置的不同,在每个环境中每种类型返回的信息也不相同(例如:某些关键字可能会在某 些系统上返回多个结果,因为它们可能在系统上存在多个不同型号的CPU)。如果未提供 KEYWORD信息或者其无效,则会打印所有有效的关键字列表,并报错退出。
    此选项不能多次使用。
  • -t, --type TYPE:仅显示指定的TYPE类型字符串对应的信息。
    TYPE可以是DMI类型编号,也可以是以逗号分隔的类型编号列表(DMI类型编号 详见下文中的“DMI类型编号列表”)。
    TYPE也可以是关键字列表中的一个或多个关键字(该列表中的关键字类似于 DMI类型编号的组合名称,其对应关系详见下文中的“DMI 类型编号与DMI 类型关键字的 对应关系”)。
    该选项可以多次使用。如果多次使用此选项,则将打印所有指定类型的信息。如果未提供TYPE信息或者其无效,则会打印所有有效的关键字列表,并报错退出。
  • -u, --dump:不解码记录,而是将其内容转储为十六进制形式(但仍然是文本信 息,而不是二进制数据)。每个条目的字符串显示为十六进制形式和ASCII码。此选项主 要用于调试。
  • –dump-bin FILE:不对记录进行解码,而是将DMI数据转储为二进制文件。该二进制文件用于–from-dump 选项读入。
  • –from-dump FILE:指定从–dump-bin选项生成的二进制文件中读取DMI数据。
  • -h, --help:显示帮助信息。
  • -V, --version:显示版本信息。 提示:输出格式选项–string、–type和–dump-bin是互斥的。

DMI类型编号列表:

BIOS查看服务器MAC地址 服务器bios看配置_测试工具_07

DMI 类型编号与DMI 类型关键字的对应关系:

BIOS查看服务器MAC地址 服务器bios看配置_BIOS查看服务器MAC地址_08

2.查看硬件型号 使用dmidecode命令查看主板型号信息:

BIOS查看服务器MAC地址 服务器bios看配置_运维_09

使用dmidecode命令查看CPU型号信息:

BIOS查看服务器MAC地址 服务器bios看配置_运维_10

使用dmidecode命令查看内存型号信息:

BIOS查看服务器MAC地址 服务器bios看配置_服务器_11

使用dmidecode命令查看网卡型号(板载设备)信息:

BIOS查看服务器MAC地址 服务器bios看配置_测试工具_12


提示:dmidecode命令可能不支持查看PCI设备信息(即无法查看外部设备信息),笔者在实践中并没有找 到PCIe Flash SSD设备的型号信息。

3. dmesg

dmesg命令用于打印或控制内核环形缓冲区(Kernel Ring Buffer)的内容。 使用方法:

dmesg[options]
1.命令行选项
  • -c:打印内核环形缓冲区中的内容之后清除缓冲区。
  • -r:打印原始内核环形缓冲区的内容,即保留每行日志信息的日志级别前缀。
  • -s, --buffer-size :使用指定大小的缓冲区来查询内核环形缓冲区。默认值为16392 字节(默认内核syslog缓冲区大小最初为4096字节,从2.1.54版本开始修改为8192字节, 从2.1.113版本开始修改为16384字节)。如果将内核环形缓冲区的大小设置为大于默认 值,则表示可以查看整个内核环形缓冲区的内容(因为有足够的空间存放数据)。
  • -n level:设置将消息记录到控制台(Console)的级别。例如,-n 1可以防止除panic级别消息之外的其他级别消息打印到控制台,但所有级别消息仍然会被写 入/proc/kmsg文件中。
    当使用-n选项时,dmesg不会打印也不会清除内核环形缓冲区的内容。
    如果多次使用该选项,则只有最后一个选项会生效。
2.查看硬件型号

先使用lsblk命令查看磁盘设备名称和容量的对应关系:

BIOS查看服务器MAC地址 服务器bios看配置_测试工具_13


从以上内容来看,无法找到内存和网卡设备的型号信息。