Linux下硬件信息查看--dmidecode

 dmidecode以一种可读的方式dump出机器的DMI(Desktop Management Interface)信息。这些信息包括了硬件以及BIOS,既可以得到当前的配置,也可以得到系统支持的最大配置,比如说支持的最大内存数等。 DMI有人也叫SMBIOS(System Management BIOS),这两个标准都由DMTF(Desktop Management Task Force)开发。

 dmidecode的输出格式一般如下:

----------------------------------------

Handle0x0002

DMItype2,8bytes

BaseBoardInformation

Manufacturer:Intel

ProductName:C440GX+

Version:727281-0001

SerialNumber:INCY92700942

----------------------------------------

其中的前三行都称为记录头(recoceHeader),其中包括了:

1、recodeid(handle):DMI表中的记录标识符,这是唯一的,比如上例中的Handle0x0002。

2、dmitypeid:记录的类型,譬如说:BIOS,Memory,上例是type2,即"BaseBoardInformation"

3、recodesize:DMI表中对应记录的大小,上例为8bytes.(不包括文本信息,所有实际输出的内容比这个size要更大。)

记录头之后就是记录的值:

4、decodedvalues:记录值可以是多行的,比如上例显示了主板的制造商(manufacturer)、model、version以及serialNumber。

dmidecode的使用方法

1.最简单的的显示全部dmi信息:

#dmidecode

这样将输出所有的dmi信息,你可能会被一大堆的信息吓坏,通常可以使用下面的方法。

2.更精简的信息显示:

#dmidecode-q

-q(--quite)只显示必要的信息,这个很管用哦。

3.显示指定类型的信息:

通常我只想查看某类型,比如CPU,内存或者磁盘的信息而不是全部的。这可以使用-t(--typeTYPE)来指定信息类型:

#dmidecode-tbios

#dmidecode-tbios,processor(这种方式好像不可以用,必须用下面的数字的方式)

#dmidecode-t0,4(显示bios和processor)

dmidecode到底支持哪些type?

这些可以在mandmidecode里面看到:

文本参数支持:

bios,system,baseboard,chassis,processor,memory,cache,connector,slot

数字参数支持很多:(见附录)

4.通过关键字查看信息:

比如只想查看序列号,可以使用:

#dmidecode-ssystem-serial-number

-s(--stringkeyword)支持的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来获得当前的物理内存:

#free

totalusedfreesharedbufferscached

Mem:8182532801079217174001484724737896

-/+buffers/cache:31244245058108

Swap:419295633044189652

#grepMemTotal/proc/meminfo

MemTotal:8182532kB

这里显示了当前服务器的物理内存是8GB。

 服务器到底能扩展到多大的内存?

 #dmidecode -t 16

#dmidecode2.7

 SMBIOS 2.4 present.

 Handle 0x0013, DMI type 16, 15 bytes.

PhysicalMemoryArray

Location:SystemBoardOrMotherboard

Use:SystemMemory

ErrorCorrectionType:Multi-bitECC

MaximumCapacity:64GB(可扩展到64GB)

ErrorInformationHandle:NotProvided

NumberOfDevices:4

但是,事实不一定如此,因此插槽可能已经插满了。也就是我们还必须查清这里的8G到底是4*2GB,2*4GB还是其他?

如果是4*2GB,那么尽管可以扩展到64GB,但是插槽已经插满,无法扩展了:

#dmidecode-t17

#dmidecode2.7

 SMBIOS 2.4 present.

 Handle 0x0015, DMI type 17, 27 bytes.

MemoryDevice

ArrayHandle:0x0013

ErrorInformationHandle:NotProvided

TotalWidth:72bits

DataWidth:64bits

Size:2048MB【插槽1有1条2GB内存】

FormFactor:DIMM

Set:None

Locator:DIMM00

BankLocator:BANK

Type:Other

TypeDetail:Other

Speed:667MHz(1.5ns)

Manufacturer:

SerialNumber:BZACSKZ001

AssetTag:RAM82

   Part Number: MT9HTF6472FY-53EA2

 Handle 0x0017, DMI type 17, 27 bytes.

MemoryDevice

ArrayHandle:0x0013

ErrorInformationHandle:NotProvided

TotalWidth:72bits

DataWidth:64bits

Size:2048MB【插槽2有1条2GB内存】

FormFactor:DIMM

Set:None

Locator:DIMM10

BankLocator:BANK

Type:Other

TypeDetail:Other

Speed:667MHz(1.5ns)

Manufacturer:

SerialNumber:BZACSKZ001

AssetTag:RAM83

   Part Number: MT9HTF6472FY-53EA2

 Handle 0x0019, DMI type 17, 27 bytes.

MemoryDevice

ArrayHandle:0x0013

ErrorInformationHandle:NotProvided

TotalWidth:72bits

DataWidth:64bits

Size:2048MB【插槽3有1条2GB内存】

FormFactor:DIMM

Set:None

Locator:DIMM20

BankLocator:BANK

Type:Other

TypeDetail:Other

Speed:667MHz(1.5ns)

Manufacturer:

SerialNumber:BZACSKZ001

AssetTag:RAM84

   Part Number: MT9HTF6472FY-53EA2

 Handle 0x001B, DMI type 17, 27 bytes.

MemoryDevice

ArrayHandle:0x0013

ErrorInformationHandle:NotProvided

TotalWidth:72bits

DataWidth:64bits

Size:2048MB【插槽4有1条2GB内存】

FormFactor:DIMM

Set:None

Locator:DIMM30

BankLocator:BANK

Type:Other

TypeDetail:Other

Speed:667MHz(1.5ns)

Manufacturer:

SerialNumber:BZACSKZ001

AssetTag:RAM85

PartNumber:MT9HTF6472FY-53EA2

根据上面输出可以发现,如果要扩展,只有将上面的内存条换成16GB的,才能达到4*16GB=64GB的最大支持内存。

附录:

dmidecode支持的数字参数:

TypeInformation

----------------------------------------

0BIOS

1System

2BaseBoard

3Chassis

4Processor

5MemoryController

6MemoryModule

7Cache

8PortConnector

9SystemSlots

10OnBoardDevices

11OEMStrings

12SystemConfigurationOptions

13BIOSLanguage

14GroupAssociations

15SystemEventLog

16PhysicalMemoryArray

17MemoryDevice

1832-bitMemoryError

19MemoryArrayMappedAddress

20MemoryDeviceMappedAddress

21Built-inPointingDevice

22PortableBattery

23SystemReset

24HardwareSecurity

25SystemPowerControls

26VoltageProbe

27CoolingDevice

28TemperatureProbe

29ElectricalCurrentProbe

30Out-of-bandRemoteAccess

31BootIntegrityServices

32SystemBoot

3364-bitMemoryError

34ManagementDevice

35ManagementDeviceComponent

36ManagementDeviceThresholdData

37MemoryChannel

38IPMIDevice

        39   Power Supply

本文摘自:http://www.sanotes.net/html/y2009/312.html

相关推荐