zoukankan      html  css  js  c++  java
  • Linux下硬件信息查看(一)dmidecode

    作者:FinalBSD
    原载: [url]http://www.sanotes.net/html/y2009/312.html[/url]
    版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

    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

  • 相关阅读:
    为什么要有这个“修改”按钮
    用C++托管程序来保护敏感数据
    计算机辅助学习软件CAS和CAL的区别和联系
    C#/C++获取CPU和硬盘系列号的源代码
    计算机辅助学习英语单词分组的设计
    IC设计过程
    中国25位最具影响力的IC人物
    PLD/FPGA开发环境
    挑战功耗:低功耗ASIC设计技术
    沙子变黄金——CPU制造全过程
  • 原文地址:https://www.cnblogs.com/cute/p/2205195.html
Copyright © 2011-2022 走看看