linux包之dmidecode

 http://www.dmtf.org/standards/smbios

Dmidecode 这款软件允许你在 Linux 系统下获取有关硬件方面的信息。Dmidecode 遵循 SMBIOS/DMI 标准,其输出的信息包括 BIOS、系统、主板、处理器、内存、缓存等等。
[root@oracle3A ~]# which dmidecode
/usr/sbin/dmidecode
[root@oracle3A ~]# rpm -qf /usr/sbin/dmidecode
dmidecode-2.11-2.el6.x86_64
[root@oracle3A ~]# rpm -ql dmidecode
/usr/sbin/biosdecode
/usr/sbin/dmidecode
/usr/sbin/ownership
/usr/sbin/vpddecode
/usr/share/doc/dmidecode-2.11
/usr/share/doc/dmidecode-2.11/AUTHORS
/usr/share/doc/dmidecode-2.11/CHANGELOG
/usr/share/doc/dmidecode-2.11/LICENSE
/usr/share/doc/dmidecode-2.11/README
/usr/share/man/man8/biosdecode.8.gz
/usr/share/man/man8/dmidecode.8.gz
/usr/share/man/man8/ownership.8.gz
/usr/share/man/man8/vpddecode.8.gz
[root@oracle3A ~]# biosde
biosdecode   biosdevname
[root@oracle3A ~]# biosdecode
# biosdecode 2.11
SMBIOS 2.4 present.
        Structure Table Length: 15950 bytes
        Structure Table Address: 0x000E0010
        Number Of Structures: 364  其实就是条目数(记录数),dmidecode命令的输出(Handler 0x004D,4D=77)
        Maximum Structure Size: 98 bytes
BIOS32 Service Directory present.
        Revision: 0
        Calling Interface Address: 0x000FD780
ACPI 2.0 present.
        OEM Identifier: PTLTD
        RSD Table 32-bit Address: 0xBFEE3C7D
        XSD Table 64-bit Address: 0x00000000BFEE3C21
PNP BIOS 1.0 present.
        Event Notification: Not Supported
        Real Mode 16-bit Code Address: F000:9675
        Real Mode 16-bit Data Address: 0040:0000
        16-bit Protected Mode Code Address: 0x000F9693
        16-bit Protected Mode Data Address: 0x00000400
PCI Interrupt Routing 1.0 present.
        Router ID: 00:07.0
        Exclusive IRQs: None
        Compatible Router: 8086:122e
        Slot Entry 1: ID 00:0f, slot number 1
        Slot Entry 2: ID 00:10, slot number 2
        Slot Entry 3: ID 00:11, slot number 3
        Slot Entry 4: ID 00:12, slot number 4
        Slot Entry 5: ID 00:13, slot number 5
        Slot Entry 6: ID 00:14, slot number 6
        Slot Entry 7: ID 00:15, slot number 7
        Slot Entry 8: ID 00:16, slot number 8
        Slot Entry 9: ID 00:17, slot number 9
        Slot Entry 10: ID 00:18, slot number 10
        Slot Entry 11: ID 00:19, slot number 11
        Slot Entry 12: ID 00:1a, slot number 12
        Slot Entry 13: ID 00:1b, slot number 13
        Slot Entry 14: ID 00:1c, slot number 14
        Slot Entry 15: ID 00:1d, slot number 15
        Slot Entry 16: ID 00:1e, slot number 16
        Slot Entry 17: ID 00:1f, slot number 17
        Slot Entry 18: ID 00:00, on-board
        Slot Entry 19: ID 00:07, on-board
        Slot Entry 20: ID 00:01, on-board

[root@rac01 ~]# vpddecode
# vpddecode 2.11
# No VPD structure found, sorry.
[root@rac01 ~]# biosdecode
# biosdecode 2.11
ACPI present.
        OEM Identifier: ALASKA
        RSD Table 32-bit Address: 0x7F276040
SMBIOS 2.5 present.
        Structure Table Length: 6576 bytes
        Structure Table Address: 0x7F2D8018
        Number Of Structures: 129
        Maximum Structure Size: 157 bytes
PNP BIOS 1.0 present.
        Event Notification: Not Supported
        Real Mode 16-bit Code Address: F000:BBC6
        Real Mode 16-bit Data Address: F000:0000
        16-bit Protected Mode Code Address: 0x000FBBEE
        16-bit Protected Mode Data Address: 0x000F0000
PCI Interrupt Routing 1.0 present.

[root@aster6 ~]# biosdecode
# biosdecode 2.10
BIOS32 Service Directory present.
        Revision: 0
        Calling Interface Address: 0x000FD7E1
SMBIOS 2.5 present.
        Structure Table Length: 2713 bytes
        Structure Table Address: 0x7F6BD000
        Number Of Structures: 68
        Maximum Structure Size: 126 bytes
PNP BIOS 1.0 present.
        Event Notification: Not Supported
        Real Mode 16-bit Code Address: F000:320A
        Real Mode 16-bit Data Address: F000:0000
        16-bit Protected Mode Code Address: 0x000F320F
        16-bit Protected Mode Data Address: 0x000F0000
ACPI 2.0 present.
        OEM Identifier: IBM
        RSD Table 32-bit Address: 0x7F7FE0AC
        XSD Table 64-bit Address: 0x000000007F7FE120

[root@rac01 ~]# dmidecode |more
# dmidecode 2.11
SMBIOS 2.5 present.
129 structures occupying 6576 bytes.
Table at 0x7F2D8018. [root@oracle3A
~]#
       Keywords can be used instead of type numbers with --type.  Each keyword is equivalent to a list of type numbers:

       Keyword     Types
       ------------------------------
       bios        0, 13
       system      1, 12, 15, 23, 32
       baseboard   2, 10, 41
       chassis     3
       processor   4
       memory      5, 6, 16, 17
       cache       7
       connector   8
       slot        9

       Keywords are matched case-insensitively. The following command lines are equivalent:

       · dmidecode --type 0 --type 13

       · dmidecode --type 0,13

       · dmidecode --type bios

       · dmidecode --type BIOS

SMBIOS(System Management BIOS)是主板或系统制造者以标准格式显示产品管理信息所需遵循的统一规范。
SMBIOS和DMI是由行业指导机构Desktop Management Task Force (DMTF)起草的开放性的技术标准,其中DMI设计适用于任何的平台和操作系统。
DMI(Desktop Management Interface, DMI)就是帮助收集电脑系统信息的管理系统,DMI信息的收集必须在严格遵照SMBIOS规范的前提下进行。
DMI充当了管理工具和系统层之间接口的角色。它建立了标准的可管理系统更加方便了电脑厂商和用户对系统的了解。
DMI(Desktop Management Interface, 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), 其中包括了:
    recode id(handle): DMI表中的记录标识符,这是唯一的,比如上例中的Handle 0×0002。
    dmi type id: 记录的类型,譬如说:BIOS,Memory,上例是type 2,即”Base Board Information”
    recode size: DMI表中对应记录的大小,上例为8 bytes.(不包括文本信息,所有实际输出的内容比这个size要更大。)记录头之后就是记录的值
    decoded values: 记录值可以是多行的,比如上例显示了主板的制造商(manufacturer)、model、version以及serial Number。
 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 有个很有用的选项 -t,可以按指定类型输出相关信息,假如要获得处理器方面的信息,则可以执行
dmidecode -t processor
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
命令用法示例
    查看服务器型号:dmidecode | grep 'Product Name'
    查看主板的序列号:dmidecode |grep 'Serial Number'
    查看系统序列号:dmidecode -s system-serial-number
    查看内存信息:dmidecode -t memory
    查看OEM信息:dmidecode -t 11
关于 Dmidecode 的更多用法,你可以通过指定 -h 选项查询。

原文地址:https://www.cnblogs.com/createyuan/p/4164395.html