Dmidecode命令详解

 伤脑筋   2014-01-01 08:20   1702 人阅读  0 条评论

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命令用法详解

1. 最简单的的显示全部dmi信息:
# dmidecode
这样将输出所有的dmi信息,你可能会被一大堆的信息吓坏,通常可以使用下面的方法。
2.更精简的信息显示:
# dmidecode -q -q(–quite)
只显示必要的信息,这个很管用哦。
3.显示指定类型的信息:
通常我只想查看某类型,比如CPU,内存或者磁盘的信息而不是全部的。这可以使用-t(–type TYPE)来指定信息类型:
# dmidecode -t bios
# dmidecode -t bios, processor (这种方式好像不可以用,必须用下面的数字的方式) # dmidecode -t 0,4 (显示bios和processor) dmidecode到底支持哪些type? 这些可以在man dmidecode里面看到
文本参数支持:
bios, system, baseboard, chassis, processor, memory, cache, connector, slot
数字参数支持很多
4.通过关键字查看信息:
比如只想查看序列号,可以使用:
# dmidecode -s system-serial-number -s (–string keyword)支持的keyword包括:
————————————————————————————
-
bios-vendor,bios-version, bios-release-date,
system-manufacturer, system-product-name, system-version,
system-serial-number,
baseboard-manu-facturer,baseboard-product-name, baseboard-version,
baseboard-serial-number, baseboard-asset-tag,
chassis-manufacturer, chas-sis-version, chassis-serial-number,
chassis-asset-tag,
processor-manufacturer, processor-version.
————————————————————————————
5.示例
5.1 查看当前内存和支持的最大内存
Linux下,可以使用free或者查看meminfo来获得当前的物理内存:
# free
                    total         used         free       shared     buffers       cached
Mem:    8182532  8010792    171740                0    148472     4737896
-/+ buffers/cache: 3124424  5058108
Swap:   4192956        3304  4189652
# grep MemTotal /proc/meminfo
MemTotal: 8182532 kB
这里显示了当前服务器的物理内存是8GB。服务器到底能扩展到多大的内存?
#dmidecode -t 16
# dmidecode 2.7
SMBIOS 2.4 present.
Handle 0×0013, DMI type 16, 15 bytes.
Physical Memory Array
              Location: System Board Or Motherboard
              Use: System Memory
              Error Correction Type: Multi-bit ECC
              Maximum Capacity: 64 GB (可扩展到64GB)
              Error Information Handle: Not Provided
              Number Of Devices: 4
但是,事实不一定如此,因此插槽可能已经插满了。也就是我们还必须查清这里的8G到底是4*2GB, 2*4GB还是其他?如果是4*2GB,那么尽管可以扩展到64GB,但是插槽已经插满,无法扩展了
#dmidecode -t 17
# dmidecode 2.7
SMBIOS 2.4 present.
Handle 0×0015, DMI type 17, 27 bytes.
Memory Device
                Array Handle: 0×0013
                Error Information Handle: Not Provided
                Total Width: 72 bits
                 Data Width: 64 bits
                 Size: 2048 MB                       【插槽1有1条2GB内存】
                 Form Factor: DIMM
                 Set: None
                 Locator: DIMM00
                 Bank Locator: BANK
                 Type: Other
                 Type Detail: Other
                 Speed: 667 MHz (1.5 ns)
                 Manufacturer:
                 Serial Number: BZACSKZ001
                 Asset Tag: RAM82
                 Part Number: MT9HTF6472FY-53EA2
                 Handle 0×0017, DMI type 17, 27 bytes.
Memory Device
                 Array Handle: 0×0013
                 Error Information Handle: Not Provided
                 Total Width: 72 bits
                 Data Width: 64 bits
                 Size: 2048 MB                          【插槽2有1条2GB内存】
                 Form Factor: DIMM
                 Set: None
                 Locator: DIMM10
                 Bank Locator: BANK
                 Type: Other
                 Type Detail: Other
                 Speed: 667 MHz (1.5 ns)
                 Manufacturer:
                 Serial Number: BZACSKZ001
                 Asset Tag: RAM83
                 Part Number: MT9HTF6472FY-53EA2
                 Handle 0×0019, DMI type 17, 27 bytes.
Memory Device
                 Array Handle: 0×0013
                 Error Information Handle: Not Provided
                 Total Width: 72 bits
                 Data Width: 64 bits
                 Size: 2048 MB                             【插槽3有1条2GB内存】
                 Form Factor: DIMM
                 Set: None
                 Locator: DIMM20
                 Bank Locator: BANK
                 Type: Other
                 Type Detail: Other
                 Speed: 667 MHz (1.5 ns)
                 Manufacturer:
                 Serial Number: BZACSKZ001
                 Asset Tag: RAM84
                 Part Number: MT9HTF6472FY-53EA2
                 Handle 0×001B, DMI type 17, 27 bytes.
Memory Device
                 Array Handle: 0×0013
                 Error Information Handle: Not Provided
                 Total Width: 72 bits
                 Data Width: 64 bits
                 Size: 2048 MB                                   【插槽4有1条2GB内存】
                 Form Factor: DIMM
                 Set: None
                 Locator: DIMM30
                 Bank Locator: BANK
                 Type: Other
                 Type Detail: Other
                 Speed: 667 MHz (1.5 ns)
                 Manufacturer:
                 Serial Number: BZACSKZ001
                 Asset Tag: RAM85
                 Part Number: MT9HTF6472FY-53EA2
根据上面输出可以发现,如果要扩展,只有将上面的内存条换成16GB的,才能达到4*16GB=64GB的最大支持内存。 不带选项执行 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 0#                  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 OEMStrings

  • 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 选项查询

本文地址:https://www.clrun.com/2014/01/19.html
版权声明:本文为原创文章,版权归 伤脑筋 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?