博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dmidecode输出详解
阅读量:6153 次
发布时间:2019-06-21

本文共 5823 字,大约阅读时间需要 19 分钟。

一、先来看几个用dmidecode查看内存信息的例子。

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

[root@jiangyi01.sqa.zmf /home/ahao.mah]#dmidecode|grep -P -A5 "Memory\s+Device"|grep Size|grep -v Range    Size: 8192 MB    Size: 8192 MB    Size: 8192 MB    Size: 8192 MB    Size: 8192 MB    Size: 8192 MB    Size: 8192 MB    Size: 8192 MB    Size: 8192 MB    Size: 8192 MB    Size: 8192 MB    Size: 8192 MB

2、查看最大支持内存数

[root@jiangyi01.sqa.zmf /home/ahao.mah]#dmidecode|grep -P 'Maximum\s+Capacity'    Maximum Capacity: 768 GB

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

[root@jiangyi01.sqa.zmf /home/ahao.mah]#dmidecode|grep -A16 "Memory Device"|grep 'Speed'    Speed: 1332 MHz    Speed: 1332 MHz    Speed: 1332 MHz    Speed: 1332 MHz    Speed: 1332 MHz    Speed: 1332 MHz    Speed: 1332 MHz    Speed: 1332 MHz    Speed: 1332 MHz    Speed: 1332 MHz    Speed: 1332 MHz    Speed: 1332 MHz

以上均是通过dmidecode命令来实现的,具体方法如下:

dmidecode以一种可读的方式dump出机器的DMI(Desktop Management Interface)信息。这些信息包括了硬件以及BIOS,既可以得到当前的配置,也可以得到系统支持的最大配
置,比如说支持的最大内存数等。

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

dmidecode的输出格式

dmidecode的输出格式,一般类似这样:

Handle 0×0002DMI type 2, 8 bytesBase Board InformationManufacturer:IntelProduct Name: C440GX+Version: 727281-0001Serial Number: INCY92700942

解释

前三行都称为记录头(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信息:

# 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.7SMBIOS 2.4 present.Handle 0×0013, DMI type 16, 15 bytes.Physical Memory ArrayLocation: System Board Or MotherboardUse: System MemoryError Correction Type: Multi-bit ECCMaximum Capacity: 64 GB  (可扩展到64GB)Error Information Handle: Not ProvidedNumber Of Devices: 4

但是,事实不一定如此,因此插槽可能已经插满了。也就是我们还必须查清这里的8G到底是42GB, 24GB还是其他?

如果是4*2GB,那么尽管可以扩展到64GB,但是插槽已经插满,无法扩展了:

代码示例:

#dmidecode -t 17# dmidecode 2.7SMBIOS 2.4 present.Handle 0×0015, DMI type 17, 27 bytes.Memory DeviceArray Handle: 0×0013Error Information Handle: Not ProvidedTotal Width: 72 bitsData Width: 64 bitsSize: 2048 MB 【插槽1有1条2GB内存】Form Factor: DIMMSet: NoneLocator: DIMM00Bank Locator: BANKType: OtherType Detail: OtherSpeed: 667 MHz (1.5 ns)Manufacturer:Serial Number: BZACSKZ001Asset Tag: RAM82Part Number: MT9HTF6472FY-53EA2Handle 0×0017, DMI type 17, 27 bytes.Memory DeviceArray Handle: 0×0013Error Information Handle: Not ProvidedTotal Width: 72 bitsData Width: 64 bitsSize: 2048 MB 【插槽2有1条2GB内存】Form Factor: DIMMSet: NoneLocator: DIMM10Bank Locator: BANKType: OtherType Detail: OtherSpeed: 667 MHz (1.5 ns)Manufacturer:Serial Number: BZACSKZ001Asset Tag: RAM83Part Number: MT9HTF6472FY-53EA2Handle 0×0019, DMI type 17, 27 bytes.Memory DeviceArray Handle: 0×0013Error Information Handle: Not ProvidedTotal Width: 72 bitsData Width: 64 bitsSize: 2048 MB 【插槽3有1条2GB内存】Form Factor: DIMMSet: NoneLocator: DIMM20Bank Locator: BANKType: OtherType Detail: OtherSpeed: 667 MHz (1.5 ns)Manufacturer:Serial Number: BZACSKZ001Asset Tag: RAM84Part Number: MT9HTF6472FY-53EA2Handle 0x001B, DMI type 17, 27 bytes.Memory DeviceArray Handle: 0×0013Error Information Handle: Not ProvidedTotal Width: 72 bitsData Width: 64 bitsSize: 2048 MB 【插槽4有1条2GB内存】Form Factor: DIMMSet: NoneLocator: DIMM30Bank Locator: BANKType: OtherType Detail: OtherSpeed: 667 MHz (1.5 ns)Manufacturer:Serial Number: BZACSKZ001Asset Tag: RAM85Part 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

总结:在linux系统中,查看内存、硬盘等硬件信息时,dmidecode命令,总是大有用武之地。建议大家牢固掌握该命令。

转载于:https://www.cnblogs.com/muahao/p/6513890.html

你可能感兴趣的文章
[TC13761]Mutalisk
查看>>
while()
查看>>
常用限制input的方法
查看>>
IIS7下使用urlrewriter.dll配置
查看>>
并行程序设计学习心得1——并行计算机存储
查看>>
bulk
查看>>
js document.activeElement 获得焦点的元素
查看>>
C++ 迭代器运算
查看>>
【支持iOS11】UITableView左滑删除自定义 - 实现多选项并使用自定义图片
查看>>
JavaWeb学习笔记(十四)--JSP语法
查看>>
【算法笔记】多线程斐波那契数列
查看>>
java8函数式编程实例
查看>>
jqgrid滚动条宽度/列显示不全问题
查看>>
在mac OS10.10下安装 cocoapods遇到的一些问题
查看>>
css技巧
查看>>
Tyvj 1728 普通平衡树
查看>>
javascript性能优化
查看>>
多路归并排序之败者树
查看>>
java连接MySql数据库
查看>>
转:Vue keep-alive实践总结
查看>>