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所示。
查看CPU型号,如图40-2所示。
查看内存型号,如图40-3所示。
查看阵列卡型号,如图40-4所示。
查看网卡型号,如图40-7所示。
查看显卡型号,如图40-8所示。
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类型编号列表:
DMI 类型编号与DMI 类型关键字的对应关系:
2.查看硬件型号 使用dmidecode命令查看主板型号信息:
使用dmidecode命令查看CPU型号信息:
使用dmidecode命令查看内存型号信息:
使用dmidecode命令查看网卡型号(板载设备)信息:
提示: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命令查看磁盘设备名称和容量的对应关系:
从以上内容来看,无法找到内存和网卡设备的型号信息。