dmidecode -t memory 的 Speed 字段反映内存条标称频率(JEDEC 规范值),非实时运行频率,但它是从 BIOS/UEFI 直接读取的最可信硬件规格;需用 sudo 执行,且须按 Handle 分组提取以避免错配,虚拟机中通常无效。

直接看 dmidecode -t memory 输出的 Speed 字段最准
dmidecode -t memory 是唯一能从 BIOS/UEFI 固件读取原始 SPD 数据的命令,它输出的 Speed: 字段反映内存条标称频率(JEDEC 规范值),不是实时运行频率,但这是你能拿到的最接近真实规格的数据。
必须加 sudo,否则报 Cannot access SMBIOS data;虚拟机里基本无效,因为 SMBIOS 内存信息通常不透传。
常见错误现象:
- 直接 sudo dmidecode -t memory | grep Speed,结果为空或错配(比如把 A 槽的 Part Number: 和 B 槽的 Speed: 拼在一起)
- 看到 Speed: Unknown 或 Speed: Not Specified,大概率是 BIOS 未填 SPD、空插槽干扰,或主板太老
推荐实操命令(已适配 2026 年主流发行版):sudo dmidecode -t memory | awk '/^Handle / {if (size && speed && part) print slot, size, part, speed; slot=""; size=""; speed=""; part=""} /Slot:/ {slot=$0} /Size: [0-9]+ [MG]B$/ {size=$0} /Part Number:/ {part=$0} /Speed:/ {speed=$0} END {if (size && speed && part) print slot, size, part, speed}' | grep -v "No Module Installed"
lshw 显示的是总线时钟,别当成标称频率抄
lshw -class memory 输出里的 clock: 字段单位是 Hz(比如 clock: 1600000000),换算成 MHz 是 1600,但这只是内存控制器总线频率,不是内存条标称值。DDR4-3200 对应的总线时钟就是 1600 MHz,实际等效频率是它的两倍(双倍数据速率)。
容易踩的坑:
- 把 clock: 1600MHz 当成内存频率写进文档,结果被质疑“为什么标称 3200 却只跑 1600”
- 在老旧主板或 Alpine Linux 上,lshw 可能根本不出 clock: 字段,或显示 Unknown
- 它不区分插槽,无法确认哪根内存对应哪个 clock: 值
如果 dmidecode 失效,可临时用:sudo lshw -class memory | grep -A5 -B1 "slot\|size\|clock",但只作交叉验证,不替代 dmidecode
别在 /proc/meminfo 或 free 里找频率
/proc/meminfo 和 free -h 只提供内存使用状态(MemTotal、MemAvailable 等),完全不包含任何硬件规格字段。试图从这里提取频率,属于方向性错误。
同样,lscpu | grep -i memory 显示的是 CPU 内存控制器支持的上限(如 Memory controller: 3200 MHz),不代表当前插着的内存条真在跑这个频率——XMP/EXPO 关闭、混插不同频率条、主板限制都会导致降频。
真实运行频率要看 BIOS 中的 Configured Memory Speed:(在 dmidecode 全量输出里搜),它比 Speed: 更贴近实际,但依然不是实时测量值。
真实运行频率和标称值不是一回事
Speed: 字段(如 3200 MT/s)是内存模组的设计能力,而系统实际运行频率由 BIOS 配置决定,体现在 Configured Memory Speed: 字段中。
典型场景:
- 一条 DDR4-3200 内存插在 B550 主板上,BIOS 默认关闭 EXPO,Configured Memory Speed: 可能是 2933 MT/s
- 两条不同频率内存混插(比如 3200 + 2666),系统会按最低那条的 Configured Memory Speed: 运行
- 开启 XMP/EXPO 后,Configured Memory Speed: 才会升到标称值,但需主板和 CPU 支持
想确认是否真跑在标称频率,得进 BIOS 看内存设置,或查 dmidecode 全量输出里有没有 Configured Memory Speed: 行——它比 Speed: 更关键,但很多人直接忽略这一行。


















