1、查看記憶體槽數、那個槽位插了記憶體,大小是多少
 dmidecode|grep -P -A5 "Memory\s+Device"|grep Size|grep -v Range
 
2、查看最大支援記憶體數
 dmidecode|grep -P 'Maximum\s+Capacity'
 
3、查看槽位上記憶體的速率,沒插就是unknown。
 dmidecode|grep -A16 "Memory Device"|grep 'Speed'
 
其實以上數值就是通過dmidecode命令來實現的,具體方法如下:
dmidecode以一種可讀的方式dump出機器的DMI(Desktop Management Interface)資訊。
這些資訊包括了硬體以及BIOS,既可以得到當前的配置,也可以得到系統支援的最大配置,比如說支援的最大記憶體數等。
DMI有人也叫SMBIOS(System Management BIOS),這兩個標準都由DMTF(Desktop Management Task Force)開發。
dmidecode的輸出格式一般如下:
 Handle 0×0002DMI type 2, 8 bytesBase Board InformationManufacturer:IntelProduct Name: C440GX+Version: 727281-0001Serial 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資訊:
這樣將輸出所有的dmi資訊,你可能會被一大堆的資訊嚇壞,通常可以使用下面的方法。
2.更精簡的資訊顯示:
-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來獲得當前的實體記憶體:
 # freetotal used free shared buffers cachedMem: 8182532 8010792 171740 0 148472 4737896-/+ buffers/cache: 3124424 5058108Swap: 4192956 3304 4189652# grep MemTotal /proc/meminfoMemTotal: 8182532 kB
 
這裡顯示了當前伺服器的實體記憶體是8GB。
伺服器到底能擴充到多大的記憶體?
 #dmidecode -t 16# dmidecode 2.7SMBIOS 2.4 present.Handle 0×0013, DMI type 16, 15 bytes.Physical Memory ArrayLocation: System Board Or MotherboardUse: System MemoryError Correction Type: Multi-bit ECCMaximum Capacity: 64 GB (可擴充到64GB)Error Information Handle: Not ProvidedNumber Of Devices: 4
 
但是,事實不一定如此,因此插槽可能已經插滿了。也就是我們還必須查清這裡的8G到底是4*2GB, 2*4GB還是其他?
如果是4*2GB,那麼儘管可以擴充到64GB,但是插槽已經插滿,無法擴充了:
 #dmidecode -t 17# dmidecode 2.7SMBIOS 2.4 present.Handle 0×0015, DMI type 17, 27 bytes.Memory DeviceArray Handle: 0×0013Error Information Handle: Not ProvidedTotal Width: 72 bitsData Width: 64 bitsSize: 2048 MB 【插槽1有1條2GB記憶體】Form Factor: DIMMSet: NoneLocator: DIMM00Bank Locator: BANKType: OtherType Detail: OtherSpeed: 667 MHz (1.5 ns)Manufacturer:Serial Number: BZACSKZ001Asset Tag: RAM82Part Number: MT9HTF6472FY-53EA2Handle 0×0017, DMI type 17, 27 bytes.Memory DeviceArray Handle: 0×0013Error Information Handle: Not ProvidedTotal Width: 72 bitsData Width: 64 bitsSize: 2048 MB 【插槽2有1條2GB記憶體】Form Factor: DIMMSet: NoneLocator: DIMM10Bank Locator: BANKType: OtherType Detail: OtherSpeed: 667 MHz (1.5 ns)Manufacturer:Serial Number: BZACSKZ001Asset Tag: RAM83Part Number: MT9HTF6472FY-53EA2Handle 0×0019, DMI type 17, 27 bytes.Memory DeviceArray Handle: 0×0013Error Information Handle: Not ProvidedTotal Width: 72 bitsData Width: 64 bitsSize: 2048 MB 【插槽3有1條2GB記憶體】Form Factor: DIMMSet: NoneLocator: DIMM20Bank Locator: BANKType: OtherType Detail: OtherSpeed: 667 MHz (1.5 ns)Manufacturer:Serial Number: BZACSKZ001Asset Tag: RAM84Part Number: MT9HTF6472FY-53EA2Handle 0x001B, DMI type 17, 27 bytes.Memory DeviceArray Handle: 0×0013Error Information Handle: Not ProvidedTotal Width: 72 bitsData Width: 64 bitsSize: 2048 MB 【插槽4有1條2GB記憶體】Form Factor: DIMMSet: NoneLocator: DIMM30Bank Locator: BANKType: OtherType Detail: OtherSpeed: 667 MHz (1.5 ns)Manufacturer:Serial Number: BZACSKZ001Asset Tag: RAM85Part Number: MT9HTF6472FY-53EA2
 
根據上面輸出可以發現,如果要擴充,只有將上面的記憶體條換成16GB的,才能達到4*16GB=64GB的最大支援記憶體。
附錄:
dmidecode支援的數字參數:
 Type Information0 BIOS1 System2 Base Board3 Chassis4 Processor5 Memory Controller6 Memory Module7 Cache8 Port Connector9 System Slots10 On Board Devices11 OEM Strings12 System Configuration Options13 BIOS Language14 Group Associations15 System Event Log16 Physical Memory Array17 Memory Device18 32-bit Memory Error19 Memory Array Mapped Address20 Memory Device Mapped Address21 Built-in Pointing Device22 Portable Battery23 System Reset24 Hardware Security25 System Power Controls26 Voltage Probe27 Cooling Device28 Temperature Probe29 Electrical Current Probe30 Out-of-band Remote Access31 Boot Integrity Services32 System Boot33 64-bit Memory Error34 Management Device35 Management Device Component36 Management Device Threshold Data37 Memory Channel38 IPMI Device39 Power Supply
 
以上就是小編為大家帶來的linux查看主板記憶體槽與記憶體資訊的命令dmidecode方法全部內容了,希望大家多多支援雲棲社區~