Dmidecode 這款軟體允許你在 Linux 系統下擷取有關硬體方面的資訊。Dmidecode 遵循 SMBIOS/DMI 標準,其輸出的資訊包括 BIOS、系統、主板、處理器、記憶體、緩衝等等。偶發現這個工具很有用,就總結一下。
一、DMI簡介:
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
# Debian/Ubuntu
yum install dmidecode
# RHEL/CentOS/Fedora
pacman -S dmidecode
# Arch Linux
emerge -av dmidecode
# Gentoo
或者使用官方源碼包安裝:
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全部編碼列表
Type Information
—————————————-
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 選項查詢。