Linux下硬件信息查看--dmidecode

Linux下硬件信息查看--dmidecode 

dmidecode以一種可讀的方式dump出機器的DMI(Desktop Management Interface)信息。這些信息包括了硬件以及BIOS,既可以得到當前的配置,也可以得到系統支持的最大配置,比如說支持的最大內存數等。

 DMI有人也叫SMBIOS(System Management BIOS),這兩個標準都由DMTF(Desktop Management Task Force)開發。 

 dmidecode的輸出格式一般如下:
 ----------------------------------------
 Handle 0x0002
  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 0x0002。
  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
 這樣將輸出所有的dmi信息,你可能會被一大堆的信息嚇壞,通常可以使用下面的方法。

 2.更精簡的信息顯示:
# dmidecode -q
 -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來獲得當前的物理內存:
 # 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 0x0013, 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 0x0015, DMI type 17, 27 bytes.
 Memory Device
   Array Handle: 0x0013
   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 0x0017, DMI type 17, 27 bytes.
 Memory Device
   Array Handle: 0x0013
   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 0x0019, DMI type 17, 27 bytes.
 Memory Device
   Array Handle: 0x0013
   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: 0x0013
   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
    ----------------------------------------
         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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章