服務器硬件信息查看之dmidecode:
參考資料:http://www.ttlsa.com/linux/the-linux-dmidecode-command-to-get-the-hardware-information
http://www.laozuo.org/6682.html
dmidecode在 Linux 系統下獲取有關硬件方面的信息。dmidecode 遵循 SMBIOS/DMI 標準,以一種可讀的方式dump出機器的DMI(Desktop Management Interface)信息, 其輸出的信息包括 BIOS、系統、主板、處理器、內存、緩存等等, 既可以得到當前的配置,也可以得到系統支持的最大配置,比如說支持的最大內存數等。
不同系統安裝dmidecode方式:
aptitude install dmidecode # Debian/Ubuntu
yum install dmidecode # Fedora,redhat
pacman -S dmidecode # Arch Linux
emerge -av dmidecode # Gentoo
系統centos6.8
yum -y install dmidecode
1.查看內存槽數、那個槽位插了內存,大小是多少:
[root@localhost ~]# dmidecode|grep -P -A5 "Memory\s+Device"|grep Size|grep -v Range
Size: 16384 MB
Size: No Module Installed
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: 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: No Module Installed
2、查看最大支持內存數
[root@localhost ~]# dmidecode|grep -P 'Maximum\s+Capacity'
Maximum Capacity: 3 TB
[root@localhost ~]#
3、查看槽位上內存的速率,沒插就是unknown。
[root@localhost ~]# dmidecode|grep -A16 "Memory Device"|grep 'Speed'
Speed: 2133 MHz
Speed: Unknown
Speed: 2133 MHz
Speed: 2133 MHz
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: 2133 MHz
Speed: 2133 MHz
Speed: 2133 MHz
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: Unknown
4.查看CPU信息
dmidecode -t 4
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的使用方法
1. 最簡單的的顯示全部dmi信息:
# dmidecode
1
# dmidecode
這樣將輸出所有的dmi信息,你可能會被一大堆的信息嚇壞,通常可以使用下面的方法。
2.更精簡的信息顯示:
# dmidecode -q
1
# dmidecode -q
-q(–quite) 只顯示必要的信息,這個很管用哦。
3.顯示指定類型的信息:
通常我只想查看某類型,比如CPU,內存或者磁盤的信息而不是全部的。這可以使用-t(–type TYPE)來指定信息類型:
# dmidecode -t bios
# dmidecode -t bios, processor (這種方式好像不可以用,必須用下面的數字的方式)
# dmidecode -t 0,4 (顯示bios和processor)
# 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.通過關鍵字查看信息:
比如只想查看序列號,可以使用:
[root@localhost ~]# dmidecode -s system-serial-number
JVJBRH2
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
# 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
#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 0x001B, 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
#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 0x001B, 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的最大支持內存。