如何使用dmidecode命令查看硬件信息
引言
当我们需要获取机器硬件信息时,可使用linux系统自带的dmidecode工具进行查询。
dmidecode命令通过读取系统DMI表,显示服务器硬件和BIOS信息。除了可使用dmidecode查询机器现有配置,还可以查询机器最大的可支持配置(例如现有的内存,机器最多可支持的内存)。
dmidecode命令输出格式
执行dmidecode命令,输出如下:
#dmidecode | head -10 # dmidecode 2.9 SMBIOS 2.4 present. structures occupying bytes. Table at 0x000DC010. Handle , bytes BIOS Information Vendor: LENOVO Version: 05CN39WW(V1.) Release Date: //
以上输出中,前面4条是dmidecode命令整体信息,“25 structures occupying 844 bytes.”该行指示该机器的DMI记录项总共有25条。
后面就是DMI表中各条记录,每条记录的输出格式如下:
Record Header: Handle {record id}, DMI type {dmi type id}, {record size} bytes
Record Value: {multi line record value}
record id: DMI表中每条记录唯一的标识
dmi type id: 记录的类型,比如BIOS,Memory等
record size: DMI表中该条记录的大小
multi line record values: 多行与该DMI类型相关的字段描述
DMI类型
DMI表包含以下DMI类型,每个DMI Type值对应一项硬件信息:
Type Information ---------------------------------------- BIOS System Base Board Chassis Processor Memory Controller Memory Module Cache Port Connector System Slots On Board Devices OEM Strings System Configuration Options BIOS Language Group Associations System Event Log Physical Memory Array Memory Device -bit Memory Error Memory Array Mapped Address Memory Device Mapped Address Built-in Pointing Device Portable Battery System Reset Hardware Security System Power Controls Voltage Probe Cooling Device Temperature Probe Electrical Current Probe Out-of-band Remote Access Boot Integrity Services System Boot -bit Memory Error Management Device Management Device Component Management Device Threshold Data Memory Channel IPMI Device Power Supply
根据上表我们亦可知道,可以通过dmidecode命令查到哪些硬件信息,例如要查询主板(Base Board)的信息,可以执行以下命令:
#dmidecode -t 2 # dmidecode 2.9 SMBIOS 2.4 present. Handle , bytes Base Board Information Manufacturer: LENOVO Product Name: IGT30 Version: REFERENCE Serial Number:
除了使用DMI Type_id作为索引进行查询外,还可以通过设备关键词查询,设备关键词与Type_id对应关系如下:
Keyword Types ------------------------------ bios , system , , , , baseboard , chassis processor memory , , , cache connector slot
这样,执行“dmidecode –t baseboard”命令将显示type_id为2、10项的信息。
使用dmidecode命令查询内存(RAM)信息
最后来看个使用dmidecode命令的例子,如何使用dmidecode命令查询内存信息。
首先,可以通过以下命令查询机器最大支持的内存总量:
#dmidecode -t 16 # dmidecode 2.9 SMBIOS 2.4 present. Handle , bytes Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: None Maximum Capacity: GB Error Information Handle: Not Provided Number Of Devices:
从以上输出可知,该机器理论上支持的最大内存为4G。
然后使用以下命令查询机器可用的内存:
#grep MemTotal /proc/meminfo MemTotal: kB
可以看到机器可用的内存为2G,也即我们可以再扩2G内存。
但是在用的2G内存是怎么组成的?是1条2G内存?是2条1G内存?
我们可以通过以下命令进行查询:
#dmidecode -t 17 # dmidecode 2.9 SMBIOS 2.4 present. Handle , bytes Memory Device Array Handle: 0x000D Error Information Handle: No Error Total Width: bits Data Width: bits MB Form Factor: SODIMM Set: Locator: M1 Bank Locator: Bank Type: DDR2 ⋯⋯ Handle , bytes Memory Device Array Handle: 0x000D Error Information Handle: No Error Total Width: bits Data Width: bits MB ⋯⋯
从以上信息可以看出,该机器插了2条1G的内存。
小结
使用linux系统自带工具dmidecode可以查看机器硬件信息,较常用到以下几条命令。
查询机器型号:
#dmidecode | grep -i product Product Name: TIANYI F41A Product Name: IGT30
查询内存条数:
#dmidecode -t 17 | grep "Size.*MB" | wc -l
查询物理CPU信息:
#dmidecode -t 4
另外也可通过/proc查询CPU相关信息。
查询物理CPU个数:
#cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l
查询CPU核数:
#cat /proc/cpuinfo | grep 'core id'| wc -l
本文翻译自 How To Get Hardware Information On Linux Using dmidecode Command
如何使用dmidecode命令查看硬件信息的更多相关文章
- linux下dmidecode命令获取硬件信息
linux下dmidecode命令获取硬件信息 2 A+ 所属分类:Linux 运维工具 dmidecode在 Linux 系统下获取有关硬件方面的信息.dmidecode 遵循 SMBIOS/DMI ...
- 如何在windows系统自带命令查看硬件信息?
如何在windows系统自带命令查看硬件信息? 对于在windows下查看系统信息大家一定不陌生了,我现在说几个最常用的方法,对命令感兴趣的朋友看看,(给菜鸟看的,老手就不要笑话我了,大家都是从那个时 ...
- [转帖]如何在Linux上使用命令行查看硬件信息
如何在Linux上使用命令行查看硬件信息 时间:2016-01-13 作者:admin 分类:新手入门 阅读:126次 http://embeddedlinux.org.cn/emb-linux/ ...
- windows用命令行查看硬件信息
如何在windows系统自带命令查看硬件信息,怎样dos命令查看硬盘和内存/CPU信息?最直接的是:开始→运行→CMD打开命令提示符,在该窗口下输入systeminfo执行,即可看到几乎所有想知道的系 ...
- windows查看硬件信息系统信息
rem 查看cpu wmic cpu list briefrem 查看物理内存wmic memphysical list briefrem 查看逻辑内存wmic memlogical list bri ...
- Linux 系统下查看硬件信息命令大全
有许多命令可以用来查看 Linux 系统上的硬件信息.有些命令只能够打印出像 CPU 和内存这一特定的硬件组件信息,另外一些命令可以查看多种硬件组件的信息. 这个教程可以带大家快速了解一下查看各种硬件 ...
- linux查看硬件信息及驱动设备相关整理
查看声卡设备:cat /proc/asound/cards 查看USB设备:cat /proc/bus/usb/devices 常用命令整理如下:用硬件检测程序kuduz探测新硬件:service k ...
- Linux查看硬件信息(北桥芯片组、南桥、PCI接口、CPU等)
Linux查看硬件信息(北桥芯片组.南桥.PCI接口.CPU等) Linux查看硬件信息(北桥芯片组.南桥.PCI接口.CPU等) 查看MCH(北桥) 查看ICH(南桥) 查看CPU 查看pci接口设 ...
- bat命令查询硬件信息
bat命令查询硬件信息 50 需求是这样的写一个bat命令,当命令执行的时候,先请用户输入姓名,然后继续执行查询出以下信息并写入一个文件,文件名称随便,文件可以放在与当前命令同一个文件夹下.最终文件中 ...
随机推荐
- 大规模SDN云计算数据中心组网的架构设计
本文首先分析了在大规模SDN数据中心组网中遇到的问题.一方面Underlay底层组网规模受限于设备实际的转发能力和端口密度,单一Spine-leaf的Fabric架构无法满足大规模组网的需求:另一方面 ...
- leetcode笔记 动态规划在字符串匹配中的应用
目录 leetcode笔记 动态规划在字符串匹配中的应用 0 参考文献 1. [10. Regular Expression Matching] 1.1 题目 1.2 思路 && 解题 ...
- 如何让使用create-react-app构建的项目在build过程中如何不生成.map文件
避免create-react-app的项目在build的过程中生成 .map 文件的方法:主要是更改 package.json 里面的 build 命令!正式进入修改步骤前,推荐安装 cross-en ...
- 《深入浅出MFC》下载
百度云及其他网盘下载地址:点我 编辑推荐 <深入浅出MFC>内含光盘一片,书中所有原始码与可执行文件尽在其中. 作者简介 侯俊杰,先生不知何许人也,闲静少言,不慕荣利.好读书,求甚解:每有 ...
- MYSQL手工注入(详细步骤)—— 待补充
0x00 SQL注入的分类: (1)基于从服务器接收到的响应 ▲基于错误的 SQL 注入 ▲联合查询的类型 ▲堆查询注射 ▲SQL 盲注 ...
- 用了三星Dex,我已经快一个月回家没开过电脑了
其实比较早就知道手机使用显示屏扩展的功能,但是以前的技术可能受性能影响体验还不太好.后来让我期待的是Linux On Dex这个项目知道了手机已经如此强大了,可惜只能是是特定机器,因此在618之际乘着 ...
- 记录一次pycharm中,引入其他类可用,下面总是有波浪线,而且Ctrl+b 无法查看类函数的源码
最近在玩python,发现引入其他的函数们总是有波浪线,但是能够使用,crtl+b却无法看到,非常尴尬,然后查看了原因,记录如下: This inspection detects names that ...
- Asp.Net Core SwaggerUI 接入
Asp.Net Core SwaggerUI 接入 简单了解 swagger的目的简单来说就是,不用为每个接口手动写接口文档,因为它是根据接口自动生成的,接口更改时文档也同步更新,减少了手动更新的麻烦 ...
- 个人永久性免费-Excel催化剂功能第99波-手机号码归属地批量查询
高潮过往趋于平静,送上简单的手机号码归属地查询,因接口有数量限制,仅能满足少量数据需求,如有大规模数据却又想免费获得,这就成为无解了,数据有价,且用且珍惜. 业务使用场景 除了日常自带的手机各种管家为 ...
- 个人永久性免费-Excel催化剂功能第33波-报表形式数据结构转标准数据源
一般来说,如果有标准的数据源结构,对后续的分析工作将会带来极大的方便.但现实中,许多的原始数据并不预期那样,一个主题的数据已经干净地存放在一个工作表中.今天Excel催化剂再次送上批量化操作,将不规则 ...