交叉法定位内存故障
内存报错信息常常只定位到通道或插槽,而不是具体颗粒。这时靠交叉法分区:把可疑内存换到另一个槽、把健康内存换到可疑槽,观察错误是跟着部件走,还是固定在位置上。错误随部件移动,结论是内存条本体问题;固定在插槽或通道,则指向主板或 CPU 内存控制器侧。
基本信息
| 数据来源 | EDAC 计数文件、dmesg 与内核 MCE 日志 |
|---|---|
| 关键指标 | CE(可纠正错误)与 UE(不可纠正错误)计数 |
| 交叉方法 | 交换内存条与槽位,观察错误位置是否变化 |
| 判据 | 随部件移动为条故障,固定位置指向主板或控制器 |
| 前提条件 | 复测前清零或记录计数基线 |
| 风险控制 | 操作前摘流或停业务,带内操作不可热插拔 |
典型使用场景
- 出现 UE 后确定是换内存条还是报修主板
- 同型号多机对比,判断是个体问题还是批次问题
- 固件升级后验证内存错误是否消失
- 与厂商报修沟通时提供交叉实验结果作为依据
- 累积故障样本,识别高故障率的内存型号
- 复测前后记录读数,形成可追溯的处理闭环
查通道与 DIMM 计数
查通道与 DIMM 计数
# EDAC 概览:各内存控制器与 DIMM 的错误情况
edac-util -v
# 逐条读 UE 与 CE 计数
grep . /sys/devices/system/edac/mc/mc*/dimm*/dimm_ue_count 2>/dev/null
grep . /sys/devices/system/edac/mc/mc*/dimm*/dimm_ce_count 2>/dev/null | sort -t= -k2 -nr | head
# 内核日志中的 MCE 记录,常含物理地址与通道线索
dmesg -T | grep -iE 'mce|edac' | tail -20 # 复测前先记下这行输出的基线错误跟随关系
| 观察结果 | 结论方向 | 后续动作 |
|---|---|---|
| 错误随内存条移动 | 内存条本体故障 | 换同规格备件,原条退回送检 |
| 错误固定在插槽或通道 | 主板或控制器侧 | 按硬件报修流程处理 |
| 多条在不同插槽同时报错 | 平台级问题 | 排查供电、主板与兼容组合 |
| 计数不再增长 | 可能是一次性事件 | 保持观察并记录,不做无依据更换 |
复测前必须清零或记录计数基线:旧数据会掩盖新一轮测试的真实增量,交叉结论可能完全反过来。
EDAC 的可用性与命名取决于内核版本和驱动:取不到计数时用内核日志与 BMC 事件日志交叉印证,不要只凭一个来源下结论。