zoukankan      html  css  js  c++  java
  • 使用dmidecode在Linux下获取硬件信息

    dmidecode命令可以让你在Linux系统下获取有关硬件方面的信息。dmidecode的作用是将DMI数据库中的信息解码,以可读的文本方式显示。由于DMI信息可以人为修改,因此里面的信息不一定是系统准确的信息。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,用户可以获取序列号、电脑厂商、串口信息以及其它系统配件信息。

    语法
    dmidecode [选项]
    选项
    -d,-DEV MEM文件从设备文件读取内存(默认值:/DEV/MEM)
    -h,帮助显示此帮助文本并退出
    -Q,安静较少的冗长输出
    -s,-string关键字只显示给定的DMI字符串的值
    -t,-Type类型只显示给定类型的条目
    -U,-转储不解码条目
    ——转储文件将DMI数据转储到二进制文件中。
    ——从转储文件读取二进制文件中的DMI数据
    -V,-版本显示版本和退出
    其实以上数值就是通过dmidecode命令来实现的,具体方法如下:
    dmidecode以一种可读的方式dump出机器的DMI(Desktop Management Interface)信息。这些信息包括了硬件以及BIOS,既可以得到当前的配置,也可以得到系统支持的最大配置,比如说支持的最大内存数等。
     

    DMI有人也叫SMBIOS(System Management BIOS),这两个标准都由DMTF(Desktop Management Task Force)开发。

    实例:

    显示全部dmi信息:
    [root@localhost ~]# dmidecode
    # dmidecode 2.12
    SMBIOS 2.7 present.
    ......
    ......
    Handle 0x0020, DMI type 127, 4 bytes
    End Of Table

    更精简的信息显示:
    [root@localhost ~]# dmidecode -q
    显示指定类型的信息:
    通常我只想查看某类型,比如CPU,内存或者磁盘的信息而不是全部的。这可以使用-t(--type TYPE)来指定信息类型:
    [root@localhost ~]# dmidecode -t bios
    [root@localhost ~]# dmidecode -t 0,4
    dmidecode支持的类型:
           Type   Information
           --------------------------------------------
              0   BIOS
              1   System
              2   Baseboard
              3   Chassis
              4   Processor
              5   Memory Controller
              6   Memory Module
              7   Cache
              8   Port Connector
       
    通过关键字查看信息:
    比如只想查看序列号,可以使用:
    [root@localhost ~]# 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,  system-uuid,  baseboard-manufacturer,baseboard-product-name,   baseboard-version,   baseboard-serial-number,baseboard-asset-tag,  chassis-manufacturer,  chassis-type, chassis-ver-sion, chassis-serial-number, chassis-asset-tag, processor-family,  pro-cessor-manufacturer, processor-version, processor-frequency.

    查看当前内存和支持的最大内存:
    Linux下,可以使用free或者查看meminfo来获得当前的物理内存:
    [root@localhost ~]# free -m
                 total       used       free     shared    buffers     cached
    Mem:         32053        436      31617          0          8         55
    -/+ buffers/cache:        371      31681
    Swap:         7999          0       7999
    这里显示了当前服务器的物理内存是32GB。
    服务器到底能扩展到多大的内存?,可以使用下面的命令来查看:
    [root@localhost ~]# dmidecode -t 16
    # dmidecode 2.12
    SMBIOS 2.7 present.

    Handle 0x0007, DMI type 16, 23 bytes
    Physical Memory Array
        Location: System Board Or Motherboard
        Use: System Memory
        Error Correction Type: Single-bit ECC
        Maximum Capacity: 768 GB    (可扩展768G)
        Error Information Handle: Not Provided
        Number Of Devices: 12

    但是,事实不一定如此,因此插槽可能已经插满了。也就是我们还必须查清这里的32G到底是4*8GB, 2*16GB还是其他?
    如果是4*8GB,那么尽管可以扩展到768GB,但是插槽已经插满,无法扩展了:
    [root@localhost ~]# dmidecode -t 17

      1 # dmidecode 2.12
      2 SMBIOS 2.7 present.
      3 
      4 Handle 0x0008, DMI type 17, 34 bytes
      5 Memory Device
      6     Array Handle: 0x0007
      7     Error Information Handle: Not Provided
      8     Total Width: 72 bits
      9     Data Width: 64 bits
     10     Size: 16384 MB
     11     Form Factor: DIMM
     12     Set: None
     13     Locator: DIMM010
     14     Bank Locator: BRANCH 0 CHANNEL 1 DIMM 0
     15     Type: DDR3
     16     Type Detail: Synchronous Registered (Buffered)
     17     Speed: 1067 MHz
     18     Manufacturer: Hynix
     19     Serial Number: 0x37161DC3
     20     Asset Tag: Unknown
     21     Part Number: HMT42GR7CMR4A-G7
     22     Rank: 4
     23     Configured Clock Speed: 800 MHz
     24 
     25 Handle 0x0009, DMI type 17, 34 bytes
     26 Memory Device
     27     Array Handle: 0x0007
     28     Error Information Handle: Not Provided
     29     Total Width: Unknown
     30     Data Width: Unknown
     31     Size: No Module Installed
     32     Form Factor: DIMM
     33     Set: None
     34     Locator: DIMM011
     35     Bank Locator: BRANCH 0 CHANNEL 1 DIMM 1
     36     Type: DDR3
     37     Type Detail: Synchronous
     38     Speed: Unknown
     39     Manufacturer: NO DIMM
     40     Serial Number: NO DIMM
     41     Asset Tag: NO DIMM
     42     Part Number: NO DIMM
     43     Rank: Unknown
     44     Configured Clock Speed: Unknown
     45 
     46 Handle 0x000A, DMI type 17, 34 bytes
     47 Memory Device
     48     Array Handle: 0x0007
     49     Error Information Handle: Not Provided
     50     Total Width: Unknown
     51     Data Width: Unknown
     52     Size: No Module Installed
     53     Form Factor: DIMM
     54     Set: None
     55     Locator: DIMM020
     56     Bank Locator: BRANCH 0 CHANNEL 2 DIMM 0
     57     Type: DDR3
     58     Type Detail: Synchronous
     59     Speed: Unknown
     60     Manufacturer: NO DIMM
     61     Serial Number: NO DIMM
     62     Asset Tag: NO DIMM
     63     Part Number: NO DIMM
     64     Rank: Unknown
     65     Configured Clock Speed: Unknown
     66 
     67 Handle 0x000B, DMI type 17, 34 bytes
     68 Memory Device
     69     Array Handle: 0x0007
     70     Error Information Handle: Not Provided
     71     Total Width: Unknown
     72     Data Width: Unknown
     73     Size: No Module Installed
     74     Form Factor: DIMM
     75     Set: None
     76     Locator: DIMM021
     77     Bank Locator: BRANCH 0 CHANNEL 2 DIMM 1
     78     Type: DDR3
     79     Type Detail: Synchronous
     80     Speed: Unknown
     81     Manufacturer: NO DIMM
     82     Serial Number: NO DIMM
     83     Asset Tag: NO DIMM
     84     Part Number: NO DIMM
     85     Rank: Unknown
     86     Configured Clock Speed: Unknown
     87 
     88 Handle 0x000C, DMI type 17, 34 bytes
     89 Memory Device
     90     Array Handle: 0x0007
     91     Error Information Handle: Not Provided
     92     Total Width: Unknown
     93     Data Width: Unknown
     94     Size: No Module Installed
     95     Form Factor: DIMM
     96     Set: None
     97     Locator: DIMM030
     98     Bank Locator: BRANCH 0 CHANNEL 3 DIMM 0
     99     Type: DDR3
    100     Type Detail: Synchronous
    101     Speed: Unknown
    102     Manufacturer: NO DIMM
    103     Serial Number: NO DIMM
    104     Asset Tag: NO DIMM
    105     Part Number: NO DIMM
    106     Rank: Unknown
    107     Configured Clock Speed: Unknown
    108 
    109 Handle 0x000D, DMI type 17, 34 bytes
    110 Memory Device
    111     Array Handle: 0x0007
    112     Error Information Handle: Not Provided
    113     Total Width: Unknown
    114     Data Width: Unknown
    115     Size: No Module Installed
    116     Form Factor: DIMM
    117     Set: None
    118     Locator: DIMM031
    119     Bank Locator: BRANCH 0 CHANNEL 3 DIMM 1
    120     Type: DDR3
    121     Type Detail: Synchronous
    122     Speed: Unknown
    123     Manufacturer: NO DIMM
    124     Serial Number: NO DIMM
    125     Asset Tag: NO DIMM
    126     Part Number: NO DIMM
    127     Rank: Unknown
    128     Configured Clock Speed: Unknown
    129 
    130 Handle 0x000E, DMI type 17, 34 bytes
    131 Memory Device
    132     Array Handle: 0x0007
    133     Error Information Handle: Not Provided
    134     Total Width: 72 bits
    135     Data Width: 64 bits
    136     Size: 16384 MB
    137     Form Factor: DIMM
    138     Set: None
    139     Locator: DIMM110
    140     Bank Locator: BRANCH 1 CHANNEL 1 DIMM 0
    141     Type: DDR3
    142     Type Detail: Synchronous Registered (Buffered)
    143     Speed: 1067 MHz
    144     Manufacturer: Hynix
    145     Serial Number: 0x37A61E5F
    146     Asset Tag: Unknown
    147     Part Number: HMT42GR7CMR4A-G7
    148     Rank: 4
    149     Configured Clock Speed: 800 MHz
    150 
    151 Handle 0x000F, DMI type 17, 34 bytes
    152 Memory Device
    153     Array Handle: 0x0007
    154     Error Information Handle: Not Provided
    155     Total Width: Unknown
    156     Data Width: Unknown
    157     Size: No Module Installed
    158     Form Factor: DIMM
    159     Set: None
    160     Locator: DIMM111
    161     Bank Locator: BRANCH 1 CHANNEL 1 DIMM 1
    162     Type: DDR3
    163     Type Detail: Synchronous
    164     Speed: Unknown
    165     Manufacturer: NO DIMM
    166     Serial Number: NO DIMM
    167     Asset Tag: NO DIMM
    168     Part Number: NO DIMM
    169     Rank: Unknown
    170     Configured Clock Speed: Unknown
    171 
    172 Handle 0x0010, DMI type 17, 34 bytes
    173 Memory Device
    174     Array Handle: 0x0007
    175     Error Information Handle: Not Provided
    176     Total Width: Unknown
    177     Data Width: Unknown
    178     Size: No Module Installed
    179     Form Factor: DIMM
    180     Set: None
    181     Locator: DIMM120
    182     Bank Locator: BRANCH 1 CHANNEL 2 DIMM 0
    183     Type: DDR3
    184     Type Detail: Synchronous
    185     Speed: Unknown
    186     Manufacturer: NO DIMM
    187     Serial Number: NO DIMM
    188     Asset Tag: NO DIMM
    189     Part Number: NO DIMM
    190     Rank: Unknown
    191     Configured Clock Speed: Unknown
    192 
    193 Handle 0x0011, DMI type 17, 34 bytes
    194 Memory Device
    195     Array Handle: 0x0007
    196     Error Information Handle: Not Provided
    197     Total Width: Unknown
    198     Data Width: Unknown
    199     Size: No Module Installed
    200     Form Factor: DIMM
    201     Set: None
    202     Locator: DIMM121
    203     Bank Locator: BRANCH 1 CHANNEL 2 DIMM 1
    204     Type: DDR3
    205     Type Detail: Synchronous
    206     Speed: Unknown
    207     Manufacturer: NO DIMM
    208     Serial Number: NO DIMM
    209     Asset Tag: NO DIMM
    210     Part Number: NO DIMM
    211     Rank: Unknown
    212     Configured Clock Speed: Unknown
    213 
    214 Handle 0x0012, DMI type 17, 34 bytes
    215 Memory Device
    216     Array Handle: 0x0007
    217     Error Information Handle: Not Provided
    218     Total Width: Unknown
    219     Data Width: Unknown
    220     Size: No Module Installed
    221     Form Factor: DIMM
    222     Set: None
    223     Locator: DIMM130
    224     Bank Locator: BRANCH 1 CHANNEL 3 DIMM 0
    225     Type: DDR3
    226     Type Detail: Synchronous
    227     Speed: Unknown
    228     Manufacturer: NO DIMM
    229     Serial Number: NO DIMM
    230     Asset Tag: NO DIMM
    231     Part Number: NO DIMM
    232     Rank: Unknown
    233     Configured Clock Speed: Unknown
    234 
    235 Handle 0x0013, DMI type 17, 34 bytes
    236 Memory Device
    237     Array Handle: 0x0007
    238     Error Information Handle: Not Provided
    239     Total Width: Unknown
    240     Data Width: Unknown
    241     Size: No Module Installed
    242     Form Factor: DIMM
    243     Set: None
    244     Locator: DIMM131
    245     Bank Locator: BRANCH 1 CHANNEL 3 DIMM 1
    246     Type: DDR3
    247     Type Detail: Synchronous
    248     Speed: Unknown
    249     Manufacturer: NO DIMM
    250     Serial Number: NO DIMM
    251     Asset Tag: NO DIMM
    252     Part Number: NO DIMM
    253     Rank: Unknown
    254     Configured Clock Speed: Unknown
    View Code


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

    附录:
    dmidecode支持的数字参数:
           Type   Information
           --------------------------------------------
              0   BIOS
              1   System
              2   Baseboard
              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
             40   Additional Information
             41   Onboard Devices Extended Information
             42   Management Controller Host Interface

  • 相关阅读:
    关于键盘触发事件和屏幕触发事件的问题
    andriod开发之自动开关机实现代码
    Android之Gallery的两种使用方法
    关于自定义View时,画图形和图片时抗锯齿的使用的问题
    android:descendantFocusability用法简析
    MVC访问Views文件下的静态文件
    iframe框架之间js方法相互调用及数据传递
    省、市、地区联动选择JS封装类PCASClass.js
    MVC自定义URL地址参数
    C#字符窜中转义小括号
  • 原文地址:https://www.cnblogs.com/Mr-Ding/p/9435551.html
Copyright © 2011-2022 走看看