基礎命令學習目錄html
https://blog.csdn.net/jerry_1126/article/details/51182566linux
跟硬件相關的命令有uname, lspci,/proc目錄下的文件等,有時候Linux/Unix系統下獲取有關硬件方面的信息,這個時候,就要用到dmidecode, 使用該命令能夠查詢BIOS、系統、主板、處理器、內存、緩存等很是重要信息。下面是其經常使用的幾個命令:ios
# dmidecode | grep 'Product Name' // 查看服務器型號
# dmidecode | grep 'Serial Number' // 查看主板的序列號
# dmidecode -s system-serial-number // 查看系統序列號
# dmidecode -t memory // 查看內存信息
# dmidecode -t 11 // 查看OEM信息
# dmidecode | grep -A16 "Memory Device" | grep "Size" |sed 's/^[ \t]*//' // 現有內存數量和內存大小
# dmidecode | grep "Maximum Capacity" |sed "s/^[ \t]*//" // 最大支持內存容量:
備註:
-t 只顯示指定條目的信息
-s 只顯示指定DMI字符串關鍵字的信息shell
DMI (Desktop Management Interface)數據庫
dmidecode在 Linux 系統下獲取有關硬件方面的信息。dmidecode 遵循 SMBIOS/DMI 標準,以一種可讀的方式dump出機器的DMI(Desktop Management Interface)信息, 其輸出的信息包括 BIOS、系統、主板、處理器、內存、緩存等等, 既能夠獲得當前的配置,也能夠獲得系統支持的最大配置,好比說支持的最大內存數等。緩存
1
2
3
4
|
aptitude install dmidecode # Debian/Ubuntu
yum install dmidecode # Fedora
pacman -S dmidecode # Arch Linux
emerge -av dmidecode # Gentoo
|
一、查看內存槽數、那個槽位插了內存,大小是多少bash
1
|
dmidecode|grep -P -A5 "Memory\s+Device"|grep Size|grep -v Range
|
二、查看最大支持內存數服務器
1
|
dmidecode|grep -P 'Maximum\s+Capacity'
|
三、查看槽位上內存的速率,沒插就是unknown。app
1
|
dmidecode|grep -A16 "Memory Device"|grep 'Speed'
|
dmidecode的輸出格式通常以下:ide
1
2
3
4
5
6
7
|
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的使用方法
1. 最簡單的的顯示所有dmi信息:
1
|
# dmidecode
|
這樣將輸出全部的dmi信息,你可能會被一大堆的信息嚇壞,一般可使用下面的方法。
2.更精簡的信息顯示:
1
|
# dmidecode -q
|
-q(–quite) 只顯示必要的信息,這個很管用哦。
3.顯示指定類型的信息:
一般我只想查看某類型,好比CPU,內存或者磁盤的信息而不是所有的。這可使用-t(–type TYPE)來指定信息類型:
1
2
3
|
# 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.經過關鍵字查看信息:
好比只想查看序列號,可使用:
1
|
# dmidecode -s system-serial-number
|
-s (–string keyword)支持的keyword包括:
1
2
3
4
5
|
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來得到當前的物理內存:
1
2
3
4
5
6
7
|
# 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。
服務器到底能擴展到多大的內存?
1
2
3
4
5
6
7
8
9
10
11
12
|
#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,可是插槽已經插滿,沒法擴展了:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
#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的最大支持內存。
附錄:
dmidecode支持的數字參數:
Type Information
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
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
轉載請註明出處:
http://www.ttlsa.com/html/1708.html
1、dmidecode簡介 dmidecode容許你在Linux系統下獲取有關硬件方面的信息。dmidecode遵循SMBIOS/DMI標準,其輸出的信息包括BIOS、系統、主板、處理器、內存、緩存等等。 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,用戶能夠獲取序列號、電腦廠商、串口信息以及其它系統配件信息。 2、dmidecode的做用 dmidecode的做用是將DMI數據庫中的信息解碼,以可讀的文本方式顯示。因爲DMI信息能夠人爲修改,所以裏面的信息不必定是系統準確的信息。 3、dmidecode命令用法 不帶選項執行dmidecode一般會輸出全部的硬件信息。dmidecode有個頗有用的選項-t,能夠指定類型輸出相關信息。假如要得到處理器方面的信息,則能夠執行:dmidecode -t processor Usage: dmidecode [OPTIONS] Options are: -d:(default:/dev/mem)從設備文件讀取信息,輸出內容與不加參數標準輸出相同。 -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 這樣將輸出全部的dmi信息,你可能會被一大堆的信息嚇壞,一般可使用下面的方法。 # dmidecode -t bios dmidecode到底支持哪些type? # 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. 4、實例 查看當前內存和支持的最大內存 [root@SC4304 ~]# free 這裏顯示了當前服務器的物理內存是128GB。 [root@SC4304 ~]# dmidecode -t 16 從上面的信息咱們能夠看出: 內存插槽數:24個 最大擴展內存:1536G 單跟內存條最大:64G 如今內存爲:128G 可是,咱們還必須查清這裏的128G究竟是16*8GB, 2*64GB仍是其餘?就是查看已使用的插槽數 一、查看內存槽數、哪一個槽位插了內存,大小是多少 [root@SC4305 ~]# dmidecode|grep -A5 'Memory Device'|grep Size 二、查看最大支持內存數 [root@SC4305 ~]# dmidecode|grep 'Maximum Capacity' 三、查看槽位上內存的速率,沒插就是unknown。 [root@SC4305 ~]# dmidecode|grep -A16 'Memory Device'|grep 'Speed' 5、一個查看基本硬件信息的shell腳本 [root@SC4306 test]# cat test.sh 輸出結果: [root@SC4306 test]# bash test.sh |