dmidecode详解

 

基础命令学习目录

 

https://blog.csdn.net/jerry_1126/article/details/51182566

跟硬件相关的命令有uname, lspci,/proc目录下的文件等,有时候Linux/Unix系统下获取有关硬件方面的信息,这个时候,就要用到dmidecode, 使用该命令可以查询BIOS、系统、主板、处理器、内存、缓存等非常重要信息。下面是其常用的几个命令:

# dmidecode | grep 'Product Name'                           // 查看服务器型号
# dmidecode | grep 'Serial Number'                         // 查看主板的序列号
# dmidecode -s system-serial-number                        // 查看系统序列号
# dmidecode -t memory                                          // 查看内存信息
# dmidecode -t 11                                               // 查看OEM信息
# dmidecode | grep -A16 "Memory Device" | grep "Size" |sed 's/^[ \t]*//'  // 现有内存数量和内存大小
# dmidecode | grep "Maximum Capacity" |sed  "s/^[ \t]*//"                     // 最大支持内存容量:


备注:
-t  只显示指定条目的信息
-s  只显示指定DMI字符串关键字的信息

DMI (Desktop Management Interface)

 

dmidecode在 Linux 系统下获取有关硬件方面的信息。dmidecode 遵循 SMBIOS/DMI 标准,以一种可读的方式dump出机器的DMI(Desktop Management Interface)信息, 其输出的信息包括 BIOS、系统、主板、处理器、内存、缓存等等, 既可以得到当前的配置,也可以得到系统支持的最大配置,比如说支持的最大内存数等。

1、查看内存槽数、那个槽位插了内存,大小是多少

2、查看最大支持内存数

3、查看槽位上内存的速率,没插就是unknown。

dmidecode的输出格式一般如下:

其中的前三行都称为记录头(recoce Header), 其中包括了:
1、recode id(handle): DMI表中的记录标识符,这是唯一的,比如上例中的Handle 0×0002。
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信息:

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

-q(–quite) 只显示必要的信息,这个很管用哦。
3.显示指定类型的信息:
通常我只想查看某类型,比如CPU,内存或者磁盘的信息而不是全部的。这可以使用-t(–type TYPE)来指定信息类型:

dmidecode到底支持哪些type?
这些可以在man dmidecode里面看到:
文本参数支持:
bios, system, baseboard, chassis, processor, memory, cache, connector, slot
数字参数支持很多:(见附录)
4.通过关键字查看信息:
比如只想查看序列号,可以使用:

-s (–string keyword)支持的keyword包括:

5.示例
5.1 查看当前内存和支持的最大内存
Linux下,可以使用free或者查看meminfo来获得当前的物理内存:

这里显示了当前服务器的物理内存是8GB。
服务器到底能扩展到多大的内存?

但是,事实不一定如此,因此插槽可能已经插满了。也就是我们还必须查清这里的8G到底是4*2GB, 2*4GB还是其他?
如果是4*2GB,那么尽管可以扩展到64GB,但是插槽已经插满,无法扩展了:

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

 

posted @ 2018-08-31 10:41  马昌伟  阅读(...)  评论(...编辑  收藏