Linux查看内存详细信息方法
时间:2026-04-06 18:30:29 124浏览 收藏
想精准掌握Linux系统中每根内存条的型号、频率、厂商和插槽位置?别再依赖仅显示总量的free或/proc/meminfo——本文详解四种真正获取硬件级内存详情的权威方法:dmidecode(最全面,直读SMBIOS表)、lshw(结构清晰易解析)、/sys/firmware/dmi/tables/(无需root权限的轻量替代)、decode-dimms(深入SPD芯片获取JEDEC原始参数),助你从固件层透视物理内存真实状态。

如果您需要确认当前 Linux 系统中安装的物理内存条的具体型号、频率、制造商及插槽位置,则不能依赖 /proc/meminfo 或 free 等仅反映内核内存统计的命令。以下是多种可直接获取内存硬件级详细信息的方法:
一、使用 dmidecode 命令提取 SMBIOS 内存设备信息
dmidecode 通过解析 BIOS/UEFI 固件中嵌入的 SMBIOS 表,直接读取内存模块的原始硬件描述字段,是目前最权威、最完整的方案,可准确获取 Part Number、Manufacturer、Speed、Type、Locator 等关键参数。
1、以 root 权限执行完整内存设备查询:sudo dmidecode -t memory
2、筛选出已安装内存条的核心字段(排除空插槽):sudo dmidecode -t memory | grep -E "Slot:|Part Number:|Manufacturer:|Speed:|Type:|Size:" | grep -v "No Module Installed"
3、单独定位每个有效内存插槽及其对应型号与频率:sudo dmidecode -t memory | awk '/Size: [0-9]+ [MG]B$/ {slot=""; type=""; speed=""; for(i=NR;i<=NR+10;i++) {getline line
二、使用 lshw 命令获取结构化内存视图
lshw 从 sysfs 和内核接口采集硬件数据,输出为层级清晰的树状结构,对插槽编号、容量、时钟频率和内存类型有良好支持,适合快速识别 DDR4/DDR5 及是否启用 ECC,但部分主板可能缺失 Part Number 或 Manufacturer 字段。
1、检查是否已安装 lshw,如未安装则执行:sudo apt install lshw(Debian/Ubuntu)或 sudo yum install lshw(RHEL/CentOS)
2、列出全部内存设备并精简显示关键属性:sudo lshw -class memory | grep -A6 -B1 "description:.*memory\|slot\|size\|clock\|width"
3、提取每根内存条的插槽名、大小与标称频率(适用于多插槽系统):sudo lshw -class memory | awk '/slot:/ {s=$0} /size:/ {sz=$0} /clock:/ {c=$0; if(s && sz && c) print s, sz, c; s=""; sz=""; c=""}'
三、从 /sys/firmware/dmi/tables/ 提取原始 DMI 字符串
当无法使用 dmidecode(如权限受限且不可提权)但内核版本 ≥5.10 且 DMI sysfs 导出启用时,可绕过工具依赖,直接读取二进制 DMI 表并用 strings 提取可读字段,虽无结构化输出,但无需额外安装软件。
1、验证 DMI 表路径是否存在且可访问:ls -l /sys/firmware/dmi/tables/
2、提取包含内存标识的关键字符串行:sudo strings /sys/firmware/dmi/tables/DMI | grep -A5 -B5 "DIMM\|Slot\|Part Number\|Manufacturer\|Speed"
3、过滤出含有效内存规格的连续上下文(避免误匹配):sudo strings /sys/firmware/dmi/tables/DMI | awk '/DIMM|Slot/ {for(i=NR;i<=NR+8;i++) {getline line
四、使用 decode-dimms 读取 SPD EEPROM 数据
decode-dimms 通过 I²C 总线直接访问内存条上的 SPD(Serial Presence Detect)芯片,提供 JEDEC 标准定义的底层参数,包括精确的时序、厂商 ID、模块配置及实际运行频率,适用于需验证超频稳定性或兼容性的场景。
1、确认 i2c-tools 已安装:sudo apt install i2c-tools(Debian/Ubuntu)或 sudo yum install i2c-tools(RHEL/CentOS)
2、探测 I²C 适配器并启用相应总线:sudo i2cdetect -l,随后加载 i2c-dev 模块:sudo modprobe i2c-dev
3、执行 SPD 解析:sudo decode-dimms
到这里,我们也就讲完了《Linux查看内存详细信息方法》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
278 收藏
-
268 收藏
-
118 收藏
-
467 收藏
-
230 收藏
-
176 收藏
-
401 收藏
-
264 收藏
-
455 收藏
-
492 收藏
-
208 收藏
-
215 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习