溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

dmidecode命令詳解(獲取硬件信息)

發(fā)布時間:2020-05-29 02:43:05 來源:網(wǎng)絡 閱讀:6194 作者:xiexiaojun 欄目:移動開發(fā)

一、dmidecode簡介

       dmidecode允許你在Linux系統(tǒng)下獲取有關硬件方面的信息。dmidecode遵循SMBIOS/DMI標準,其輸出的信息包括BIOS、系統(tǒng)、主板、處理器、內存、緩存等等。

       DMI(Desktop Management Interface,DMI)就是幫助收集電腦系統(tǒng)信息的管理系統(tǒng),DMI信息的收集必須在嚴格遵照SMBIOS規(guī)范的前提下進行。SMBIOS(System Management BIOS)是主板或系統(tǒng)制造者以標準格式顯示產(chǎn)品管理信息所需遵循的統(tǒng)一規(guī)范。SMBIOS和DMI是由行業(yè)指導機構Desktop Management Task Force(DMTF)起草的開放性的技術標準,其中DMI設計適用于任何的平臺和操作系統(tǒng)。

DMI充當了管理工具和系統(tǒng)層之間接口的角色。它建立了標準的可管理系統(tǒng)更加方便了電腦廠商和用戶對系統(tǒng)的了解。DMI的主要組成部分是Management Information Format(MIF)數(shù)據(jù)庫。這個數(shù)據(jù)庫包括了所有有關電腦系統(tǒng)和配件的信息。通過DMI,用戶可以獲取序列號、電腦廠商、串口信息以及其它系統(tǒng)配件信息。

二、dmidecode的作用

      dmidecode的作用是將DMI數(shù)據(jù)庫中的信息解碼,以可讀的文本方式顯示。由于DMI信息可以人為修改,因此里面的信息不一定是系統(tǒng)準確的信息。

三、dmidecode命令用法

     不帶選項執(zhí)行dmidecode通常會輸出所有的硬件信息。dmidecode有個很有用的選項-t,可以指定類型輸出相關信息。假如要獲得處理器方面的信息,則可以執(zhí)行:dmidecode -t processor

Usage: dmidecode [OPTIONS]

Options are:

-d:(default:/dev/mem)從設備文件讀取信息,輸出內容與不加參數(shù)標準輸出相同。

-h:顯示幫助信息。

-s:只顯示指定DMI字符串的信息。(string)

-t:只顯示指定條目的信息。(type)

-u:顯示未解碼的原始條目內容。

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

-- from-dump FILE: Read the DMI data from a binary file.

-V:顯示版本信息


dmidecode的輸出格式一般如下:

Handle 0x0002, DMI type 2, 95 bytes.

Base Board Information

     Manufacturer: IBM

     Product Name: Node1 Processor Card

     Version: Not Specified

     Serial Number: Not Specified

其中記錄頭(recode header)包括了:

recode id(Handle):DMI表中的記錄標識符,這是唯一的,比如上例中的Handle 0x0002.

DMI type id:記錄的類型,譬如說:BIOS,Memory,上例是type 2,即“Base Board Information”.

recode size:DMI表中對應記錄的大小,上例為95 bytes。(不包括文本信息,所有實際輸出的內容比這個size要更大)。記錄頭之后就是記錄的值。

recoded values:記錄值可以是多行的,比如上例顯示了主板的制造商(Manufacturer)、Product Name、Version以及Serial Number。


1. 最簡單的的顯示全部dmi信息:

[root@BAIYU_180 ~]# dmidecode
[root@BAIYU_180 ~]# dmidecode|wc -l
6042

這樣將輸出所有的dmi信息,你可能會被一大堆的信息嚇壞,通??梢允褂孟旅娴姆椒?。
2.顯示指定類型的信息:
通常我只想查看某類型,比如CPU,內存或者磁盤的信息而不是全部的。這可以使用-t(–type TYPE)來指定信息類型:

# dmidecode -t bios
# dmidecode -t bios, processor (這種方式好像不可以用,必須用下面的數(shù)字的方式)
# dmidecode -t 0,4 (顯示bios和processor)

dmidecode到底支持哪些type?
這些可以在man dmidecode里面看到:
文本參數(shù)支持:
bios, system, baseboard, chassis, processor, memory, cache, connector, slot
數(shù)字參數(shù)支持很多:(見附錄)
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.

四、實例

查看當前內存和支持的最大內存
Linux下,可以使用free或者查看meminfo來獲得當前的物理內存:

[root@SC4304 ~]# free
             total       used       free     shared    buffers     cached
Mem:     132091660    5649612  126442048          0     224492    4052384
-/+ buffers/cache:    1372736  130718924
Swap:    209715192          0  209715192
[root@SC4305 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:        128995       6230     122765          0        259       4615
-/+ buffers/cache:       1354     127640
Swap:       204799          0     204799

這里顯示了當前服務器的物理內存是128GB。
服務器到底能擴展到多大的內存?

[root@SC4304 ~]# dmidecode -t 16
# dmidecode 2.11
# SMBIOS entry point at 0xb89a5000
SMBIOS 2.7 present.

Handle 0x1000, DMI type 16, 23 bytes
Physical Memory Array
	Location: System Board Or Motherboard
	Use: System Memory
	Error Correction Type: Multi-bit ECC
	Maximum Capacity: 1536 GB
	Error Information Handle: Not Provided
	Number Of Devices: 24

從上面的信息我們可以看出:

內存插槽數(shù):24個

最大擴展內存:1536G

單跟內存條最大:64G

現(xiàn)在內存為:128G

但是,我們還必須查清這里的128G到底是16*8GB, 2*64GB還是其他?就是查看已使用的插槽數(shù)
如果是2*64GB,那么可以擴展到1536GB,但是如果插槽已經(jīng)插滿,無法擴展了:


1、查看內存槽數(shù)、哪個槽位插了內存,大小是多少

[root@SC4305 ~]# dmidecode|grep -A5 'Memory Device'|grep Size
	Size: 16384 MB
	Size: 16384 MB
	Size: 16384 MB
	Size: 16384 MB
	Size: No Module Installed
	Size: No Module Installed
	Size: No Module Installed
	Size: No Module Installed
	Size: No Module Installed
	Size: No Module Installed
	Size: No Module Installed
	Size: No Module Installed
	Size: 16384 MB
	Size: 16384 MB
	Size: 16384 MB
	Size: 16384 MB
	Size: No Module Installed
	Size: No Module Installed
	Size: No Module Installed
	Size: No Module Installed
	Size: No Module Installed
	Size: No Module Installed
	Size: No Module Installed
	Size: No Module Installed

2、查看最大支持內存數(shù)

[root@SC4305 ~]# dmidecode|grep 'Maximum Capacity'
	Maximum Capacity: 1536 GB

3、查看槽位上內存的速率,沒插就是unknown。

[root@SC4305 ~]# dmidecode|grep -A16 'Memory Device'|grep 'Speed'
	Speed: 1600 MHz
	Speed: 1600 MHz
	Speed: 1600 MHz
	Speed: 1600 MHz
	Speed: Unknown
	Speed: Unknown
	Speed: Unknown
	Speed: Unknown
	Speed: Unknown
	Speed: Unknown
	Speed: Unknown
	Speed: Unknown
	Speed: 1600 MHz
	Speed: 1600 MHz
	Speed: 1600 MHz
	Speed: 1600 MHz
	Speed: Unknown
	Speed: Unknown
	Speed: Unknown
	Speed: Unknown
	Speed: Unknown
	Speed: Unknown
	Speed: Unknown
	Speed: Unknown

五、一個查看基本硬件信息的shell腳本

[root@SC4306 test]# cat test.sh 
#!/bin/bash  
echo "IP:"  
ifconfig |grep "inet addr"|grep -v 127.0.0.1|awk '{print $2}'|awk -F ':' '{print $2}'  
echo "Product Name:"  
dmidecode |grep Name  
echo "CPU Info:"  
dmidecode |grep -i cpu|grep -i version|awk -F ':' '{print $2}'  
echo "Disk Info:"  
parted -l|grep 'Disk /dev/sd'|awk -F ',' '{print "   ",$1}'  
echo "Network Info:"  
lspci |grep Ethernet  
echo "Memory Info:"  
dmidecode|grep -A5 "Memory Device"|grep Size|grep -v No  
echo "Memory number:"`dmidecode|grep -A5 "Memory Device"|grep Size|grep -v No|wc -l`

輸出結果:

[root@SC4306 test]# bash test.sh
IP:
10.0.17.6
10.0.250.6
Product Name:
	Product Name: PowerEdge R720
	SKU Number: SKU=NotProvided;ModelName=PowerEdge R720
	Product Name: 0DCWD1
CPU Info:
       Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz
       Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz
Disk Info:
    Disk /dev/sda: 1074GB
    Disk /dev/sdb: 18.9TB
Network Info:
01:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe
01:00.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe
02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe
02:00.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe
Memory Info:
	Size: 16384 MB
	Size: 16384 MB
	Size: 16384 MB
	Size: 16384 MB
	Size: 16384 MB
	Size: 16384 MB
	Size: 16384 MB
	Size: 16384 MB
Memory number:8


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI