在麒麟系统中需综合四种方法判断内存频率:1. dmidecode读bios标称值;2. lshw查内核驱动实时频率;3. dmesg捕获启动时ddr速率;4. decode-dimms读spd芯片jedec支持档位。

在麒麟操作系统中准确获取内存条实际运行频率,不能只看“关于此电脑”里模糊的“DDR4”字样,必须通过终端命令穿透到固件层或内核驱动层读取原始时序参数。
用 dmidecode 读取 BIOS 固件标称频率
该命令从 SMBIOS 表提取厂商写入的内存规格,结果稳定、不可篡改,是判断内存设计频率的首要依据。
打开终端,执行:sudo dmidecode -t memory
滚动查找每个以“Memory Device”开头的区块,在其内部定位 Speed 字段——例如显示 Speed: 3200 MT/s 即表示该条内存标称频率为 3200 兆传输每秒;若显示 Speed: Unknown,说明主板 BIOS 未正确录入 SPD 信息或内存为非标模块,此时需切换其他方法验证。
注意:该值反映的是内存条出厂标称能力,不是当前实际运行频率。BIOS 若关闭 XMP/EXPO 或降频启用,实际运行频率可能低于此值。
用 lshw 查看内核识别的当前驱动频率
lshw 能解析内存控制器上报的实时 clock 值,比 dmidecode 更贴近真实工作状态,尤其适合验证超频或降频是否生效。
第一步:确保已安装 lshw 工具,执行:sudo apt install lshw
第二步:运行命令获取内存设备详情:sudo lshw -class memory
第三步:在输出中逐个展开 memory 节点,查找包含 clock 或 speed 的子字段——例如出现 clock: 3200MHz,即表明内核当前正以该频率驱动该内存条;若该字段完全缺失,则说明驱动未向硬件抽象层暴露频率信息,需退回 dmidecode 或 dmesg 方法。
从 dmesg 日志捕获内核内存训练结果
系统启动时,内核会与内存控制器协同完成初始化训练,并将最终选定的 DDR 速率写入日志。这是验证 XMP/EXPO 是否真正启用的关键证据。
执行命令:dmesg | grep -i "ddr\|dram\|memory"
在返回结果中重点搜索含数字的 DDR 标识,例如 DDR4-3200、rate=3200 或 MT/s: 3200;若看到 DDR4-2133 而 dmidecode 显示 3200,说明 BIOS 未开启 XMP,内存正以降频模式运行。
若输出为空或仅含“Memory probe”类泛化语句,代表内核未记录具体速率,此时应优先信任 dmidecode 的 Speed 字段。
用 decode-dimms 读取 SPD 芯片最高 JEDEC 频率
SPD(Serial Presence Detect)芯片固化在内存条 PCB 上,存储 JEDEC 官方认证的所有合法频率档位,是最底层、最权威的频率来源。
先安装工具:sudo apt install i2c-tools smbus
加载 I²C 模块:sudo modprobe i2c-dev
执行读取:sudo decode-dimms
输出中会列出所有支持的 JEDEC 速度等级,例如 Supported JEDEC speeds: DDR4-1600, DDR4-1866, DDR4-2133, DDR4-2400, DDR4-2666, DDR4-2933, DDR4-3200;其中最高值即该内存条硬件可支持的上限频率,【不等于当前运行频率】,但能帮你判断 BIOS 设置是否有提升空间。











