linux下dmidecode命令获取硬件信息
linux下dmidecode命令获取硬件信息
- A+
 
dmidecode在 Linux 系统下获取有关硬件方面的信息。dmidecode 遵循 SMBIOS/DMI 标准,以一种可读的方式dump出机器的DMI(Desktop Management Interface)信息, 其输出的信息包括 BIOS、系统、主板、处理器、内存、缓存等等, 既可以得到当前的配置,也可以得到系统支持的最大配置,比如说支持的最大内存数等。
| 
 1 
2 
3 
4 
 | 
 aptitude install dmidecode # Debian/Ubuntu 
yum install dmidecode # Fedora 
pacman -S dmidecode # Arch Linux 
emerge -av dmidecode # Gentoo 
 | 
1、查看内存槽数、那个槽位插了内存,大小是多少
| 
 1 
 | 
 dmidecode|grep -P -A5 "Memory\s+Device"|grep Size|grep -v Range 
 | 
2、查看最大支持内存数
| 
 1 
 | 
 dmidecode|grep -P 'Maximum\s+Capacity' 
 | 
3、查看槽位上内存的速率,没插就是unknown。
| 
 1 
 | 
 dmidecode|grep -A16 "Memory Device"|grep 'Speed' 
 | 
dmidecode的输出格式一般如下:
| 
 1 
2 
3 
4 
5 
6 
7 
 | 
 Handle 0×0002 
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 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信息:
| 
 1 
 | 
 # dmidecode 
 | 
这样将输出所有的dmi信息,你可能会被一大堆的信息吓坏,通常可以使用下面的方法。
2.更精简的信息显示:
| 
 1 
 | 
 # dmidecode -q 
 | 
-q(–quite) 只显示必要的信息,这个很管用哦。
3.显示指定类型的信息:
通常我只想查看某类型,比如CPU,内存或者磁盘的信息而不是全部的。这可以使用-t(–type TYPE)来指定信息类型:
| 
 1 
2 
3 
 | 
 # 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.通过关键字查看信息:
比如只想查看序列号,可以使用:
| 
 1 
 | 
 # dmidecode -s system-serial-number 
 | 
-s (–string keyword)支持的keyword包括:
| 
 1 
2 
3 
4 
5 
 | 
 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来获得当前的物理内存:
| 
 1 
2 
3 
4 
5 
6 
7 
 | 
 # 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。
服务器到底能扩展到多大的内存?
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
 | 
 #dmidecode -t 16 
# dmidecode 2.7 
SMBIOS 2.4 present. 
Handle 0×0013, 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,但是插槽已经插满,无法扩展了:
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 
59 
60 
61 
62 
63 
64 
65 
66 
67 
68 
69 
70 
71 
72 
73 
74 
75 
76 
77 
78 
79 
 | 
 #dmidecode -t 17 
# dmidecode 2.7 
SMBIOS 2.4 present. 
Handle 0×0015, DMI type 17, 27 bytes. 
Memory Device 
Array Handle: 0×0013 
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 0×0017, DMI type 17, 27 bytes. 
Memory Device 
Array Handle: 0×0013 
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 0×0019, DMI type 17, 27 bytes. 
Memory Device 
Array Handle: 0×0013 
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: 0×0013 
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
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
 | 
 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 
转载请注明出处:http://www.ttlsa.com/html/1708.html 
 | 
linux下dmidecode命令获取硬件信息的更多相关文章
- 如何使用dmidecode命令查看硬件信息
		
引言 当我们需要获取机器硬件信息时,可使用linux系统自带的dmidecode工具进行查询. dmidecode命令通过读取系统DMI表,显示服务器硬件和BIOS信息.除了可使用dmidecode查 ...
 - linux下查看机器的硬件信息:
		
查看CPU信息(型号) # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 8 Intel(R) Xeon(R) CPU ...
 - linux 下使用命令查看jvm信息
		
java程序员除了编写业务代码之外,特别是项目上线之后,更需要关注的是系统的性能表现,这个时候就需要了解一下jvm的性能表现了,可以借助于java虚拟机自带的一些分析工具,主要有三个常用的命令. 1. ...
 - Linux下Shell命令的输出信息同时显示在屏幕和保存到日志文件中
		
#直接覆盖日志文件 ls -l | tee ./t.log #将输出内容附加到日志文件 ls -l | tee -a ./t.log 使用的是tee命令
 - Linux下用命令查看CPU ID以及厂家等信息
		
Linux下用命令查看CPU ID // 获得CPU IDdmidecode -t 4 | grep ID |sort -u |awk -F': ' '{print $2}' // 获得磁盘IDfdi ...
 - Linux下dmesg命令处理故障和收集系统信息的7种用法
		
目录: <syslog之一:Linux syslog日志系统详解> <syslog之二:syslog协议及rsyslog服务全解析> <syslog之三:建立Window ...
 - 20155212 C语言实现linux下pwd命令的两种方法
		
20155212 C语言实现linux下pwd命令的两种方法 学习pwd命令 通过man pwd命令查看 pwd [OPTION],一般不加参数 -P显示当前目录的物理路径 -L显示当前目录的连接路径 ...
 - 例解 Linux 下 Make 命令
		
Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题.本文我们将用一些实例来讨论 make ...
 - Linux下who命令之C语言实现
		
Linux下who命令之C语言实现 Step1:前期准备 首先要有一个清楚的认识:linux中一切皆文件 实现who命令,who命令也是Linux中的一个文件,那我们怎么找到它呢?我们可以" ...
 
随机推荐
- Istio 生产环境用户流量接入方案
			
总结Istio 生产环境用户流量接入方案 方案1 Client -> istioGateway域名(微服务) -> VritualService匹配路由并绑定网关 -> Destin ...
 - 为什么要放弃 JSP?他们终于给出了答案
			
前言 以前的项目大多数都是Java程序猿又当爹又当妈,既搞前,又搞后端. 随着时代的发展,渐渐的许多大中小公司开始把前后端的界限分的越来越明确,前端工程师只负责前端的事情,后端工程师只管后端的事情.正 ...
 - Java字节流和字符流,是时候总结一下IO流了
			
目录 从接收输入值说起 字节流读取 字符流读取 Scanner 读取 什么是 IO 流 字节流和字符流 字节流 字节输入流 字节输出流 缓冲流的原理 字符流 字符输入流 字符输出流 为什么字符流需要 ...
 - BUAA_OO_第四单元
			
一.UML解析器设计  先看下题目:第四单元实现一个基于JDK 8带有效性检查的UML(Unified Modeling Language)类图,顺序图,状态图分析器 MyUmlInteractio ...
 - @Scheduled注解
			
1 概述 @Scheduled注解是spring boot提供的用于定时任务控制的注解,主要用于控制任务在某个指定时间执行,或者每隔一段时间执行.注意需要配合@EnableScheduling使用,配 ...
 - Neo4j/cypher学习笔记与学习建议
			
简介 本笔记的主要内容是 cypher 查询语言的编写与使用. 笔记主要整理自w3cschool上的neo4j教程以及Neo4j中文网所提供的cypher中文文档,此外还包括少量从其他个人博客与官方手 ...
 - Day17_102_IO_BufferedReader
			
BufferedReader 带有缓冲区的字符输入流 * 带有缓冲区的流 - java.io.Reader - java.io.BufferedReader - BufferedReader 字符流 ...
 - 7.If语句
			
if单选择结构 语法: if(布尔表达式){ //如果布尔表达式为true将执行的语句 } 例: import java.util.Scanner; public class IfDemo { pub ...
 - 一份释放root文件的脚本文件
			
#!/system/bin/sh MYDIR=$3 ARGS=$4 SU=$MYDIR/au SUPOLICY=$MYDIR/supolicy BUSYBOX=$MYDIR/busybox TOOLB ...
 - Windows下Nexus 5 改user模式为debug模式
			
博客链接:http://blog.csdn.net/qq1084283172/article/details/52337241 在学习Android软件安全的过程中,经常要用到Android的动态调试 ...