Dmidecode 这款软件允许你在 Linux 系统下获取有关硬件方面的信息。Dmidecode 遵循 SMBIOS/DMI 标准,其输出的信息包括 BIOS、系统、主板、处理器、内存、缓存等等。偶发现这个工具很有用,就总结一下。

一、Dmidecode简介

DMI (Desktop Management Interface, DMI)就是帮助收集电脑系统信息的管理系统,DMI信息的收集必须在严格遵照SMBIOS规范的前提下进行。 SMBIOS(System Management BIOS)是主板或系统制造者以标准格式显示产品管理信息所需遵循的统一规范。SMBIOS和DMI是由行业指导机构Desktop Management Task Force (DMTF)起草的开放性的技术标准,其中DMI设计适用于任何的平台和操作系统。

DMI充当了管理工具和系统层之间接口的角色。它建立了标准的可管理系统更加方便了电脑厂商和用户对系统的了解。DMI的主要组成部分是Management Information Format (MIF)数据库。这个数据库包括了所有有关电脑系统和配件的信息。通过DMI,用户可以获取序列号、电脑厂商、串口信息以及其它系统配件信息。

dmidecode的输出格式一般如下:

Handle 0×0002
DMI type 2, 8 bytes
Base Board Information
Manufacturer:Intel
Product Name: C440GX+
Version: 727281-0001
Serial Number: INCY92700942

其中的前三行都称为记录头(recoce Header), 其中包括了:

  1. recode id(handle): DMI表中的记录标识符,这是唯一的,比如上例中的Handle 0×0002。

  2. dmi type id: 记录的类型,譬如说:BIOS,Memory,上例是type 2,即”Base Board Information”

  3. recode size: DMI表中对应记录的大小,上例为8 bytes.(不包括文本信息,所有实际输出的内容比这个size要更大。)记录头之后就是记录的值

  4. decoded values: 记录值可以是多行的,比如上例显示了主板的制造商(manufacturer)、model、version以及serial Number。

二、Dmidecode的作用

dmidecode的作用是将DMI数据库中的信息解码,以可读的文本方式显示。由于DMI信息可以人为修改,因此里面的信息不一定是系统准确的信息。

三、安装Dmidecode

Dmidecode 在主流的 Linux 发行版中都可以找到,只需通过所用发行版的包管理器安装即可,如:

apt-get install dmidecode

或者使用官方包安装:

  • Dmidecode源码包下载地址:http://download.savannah.GNU.org/releases/dmidecode/

  • Win版本下载地址:http://gnuwin32.sourceforge.net/packages/dmidecode.htm

四、dmidecode命令用法详解

不带选项执行 dmidecode 通常会输出所有的硬件信息。Dmidecode 有个很有用的选项 -t,可以按指定类型输出相关信息,假如要获得处理器方面的信息,则可以执行

dmidecode -t processor

输出:

# dmidecode 2.10

SMBIOS 2.6 present.

Handle 0x0004, DMI type 4, 40 bytes

Processor Information

Socket Designation: CPU 1

Type: Central Processor

Family: Xeon

Manufacturer: Intel

ID: A5 06 01 00 FF FB EB BF

Signature: Type 0, Family 6, Model 26, Stepping 5

Flags:

FPU (Floating-point unit on-chip)

VME (Virtual mode extension)

DE (Debugging extension)

------

Usage: dmidecode [OPTIONS]

Options are:

  • -d, --dev-mem FILE Read memory from device FILE (default: /dev/mem)
    从设备文件读信息,输出内容与不加参数标准输出相同

  • -h, --help Display this help text and exit
    显示帮助信息

  • -q, --quiet Less verbose output
    显示更少的简化信息

  • -s, --string KEYWORD Only display the value of the given DMI string
    只显示指定DMI字符串的信息

  • -t, --type TYPE Only display the entries of given type
    只显示指定条目的信息

  • -u, --dump Do not decode the entries
    显示未解码的原始条目内容

  • --dump-bin FILE Dump the DMI data to a binary file

  • --from-dump FILE Read the DMI data from a binary file

  • -V, --version Display the version and exit
    显示版本信息

五、dmidecode参数string及type列表

(1)Valid string keywords are:

  • 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

(2)Valid type keywords are:

  • bios

  • system

  • baseboard

  • chassis

  • processor

  • memory

  • Cache

  • connector

  • slot

(3)type全部编码列表

  • 0 BIOS

  • 1 System

  • 2 Base Board

  • 3 Chassis

  • 4 Processor

  • 5 Memory Controller

  • 6 Memory Module

  • 7 Cache

  • 8 Port Connector

  • 9 System Slots

  • 10 On Board Devices

  • 11 OEM Strings

  • 12 System Configuration Options

  • 13 BIOS Language

  • 14 Group Associations

  • 15 System Event Log

  • 16 Physical Memory Array

  • 17 Memory Device

  • 18 32-bit Memory Error

  • 19 Memory Array Mapped Address

  • 20 Memory Device Mapped Address

  • 21 Built-in Pointing Device

  • 22 Portable Battery

  • 23 System Reset

  • 24 Hardware Security

  • 25 System Power Controls

  • 26 Voltage Probe

  • 27 Cooling Device

  • 28 Temperature Probe

  • 29 Electrical Current Probe

  • 30 Out-of-band Remote Access

  • 31 Boot Integrity Services

  • 32 System Boot

  • 33 64-bit Memory Error

  • 34 Management Device

  • 35 Management Device Component

  • 36 Management Device Threshold Data

  • 37 Memory Channel

  • 38 IPMI Device

  • 39 Power Supply

  • 40 Additional Information

  • 41 Onboard Device

六、命令用法示例

  1. 查看服务器型号:dmidecode | grep 'Product Name'

  2. 查看主板的序列号:dmidecode |grep 'Serial Number'

  3. 查看系统序列号:dmidecode -s system-serial-number

  4. 查看内存信息:dmidecode -t memory

  5. 查看OEM信息:dmidecode -t 11

关于 Dmidecode 的更多用法,你可以通过指定 -h 选项查询。