免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3131 | 回复: 10

linux下硬件信息查看(一)--dmidecode [复制链接]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
发表于 2009-03-17 11:07 |显示全部楼层
作者:FinalBSD
原载: http://www.sanotes.net/html/y2009/312.html
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

        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

论坛徽章:
0
发表于 2009-03-17 11:14 |显示全部楼层
好!

论坛徽章:
0
发表于 2009-03-17 12:38 |显示全部楼层

回复 #1 FinalBSD 的帖子

获取硬件信息的不可或缺的手段

论坛徽章:
6
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:52:242015元宵节徽章
日期:2015-03-06 15:50:39NBA常规赛纪念章
日期:2015-05-04 22:32:032015七夕节徽章
日期:2015-08-21 09:20:10综合交流区版块每日发帖之星
日期:2016-08-04 06:20:00
发表于 2009-03-17 12:58 |显示全部楼层
好东西. 有源码吗, 想学习一下.

论坛徽章:
0
发表于 2009-03-17 13:00 |显示全部楼层

论坛徽章:
0
发表于 2009-03-17 13:02 |显示全部楼层
好贴!
收藏了!

顺便问一下。
Maximum Capacity: 64 GB     (可扩展到64GB)
是系统支持64G内存?还是主板支持64G内存?

[ 本帖最后由 marsaber 于 2009-3-17 13:21 编辑 ]

论坛徽章:
0
发表于 2009-03-23 14:31 |显示全部楼层
我的测试环境不能用选项啊
郁闷
我用的是红帽企业版

论坛徽章:
0
发表于 2009-03-23 14:42 |显示全部楼层
dmidecode 查看的主要是北桥信息, 应该是指主板支持64G内存。

论坛徽章:
0
发表于 2009-03-23 15:15 |显示全部楼层

回复 #8 Celinde 的帖子

我的测试机是比较老的戴尔的啊
内存只有256M

论坛徽章:
0
发表于 2009-03-29 21:44 |显示全部楼层

回复 #7 bearzhang1101 的帖子

我的系统环境也是不支持这些参数
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,7折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时七折期:2019年8月31日前


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

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:help@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP