首页/系统/服务器硬件与 RAID 速查/CE 与 UE:可纠正与不可纠正错误的处置差异
内存与电源72 条

CE 与 UE:可纠正与不可纠正错误的处置差异

内存错误分两类:CE(可纠正,通常单比特)由硬件自动纠正,UE(不可纠正,多比特等)可能直接导致宕机;两者的处置节奏完全不同。

CE 与 UE 是什么

内存错误按能否纠正分为两类:CE(可纠正错误)通常是单比特翻转,由硬件自动纠正,系统可能继续运行但会记录计数;UE(不可纠正错误)多来自多比特错误,硬件无法还原原始数据,可能直接导致进程崩溃或整机宕机。两类错误的处置节奏完全不同:CE 要看趋势并在达到阈值前安排维护,UE 要立即定位并更换对应内存条。

错误类型对照

类型含义典型处置
CE可纠正错误,通常为单比特记录并观察趋势,按阈值计划更换
UE不可纠正错误,多为多比特立即定位并更换对应内存条

查看计数

查看计数
edac-util -v | head -40                              # 查看各内存通道的 CE 与 UE 计数
dmesg -T | grep -iE 'edac|machine check' | tail -20   # 内核侧错误记录
ipmitool -I lanplus -H 10.0.0.10 -U admin -f /root/.ipmi_pass sel elist | tail -20   # BMC 事件
# 记录采样时间,按周对比增长情况

基本信息

计数来源Linux 内核 EDAC 子系统、系统日志与 BMC 事件日志
定位粒度按内存通道与内存条位置记录,便于定点更换
阈值思路按平台厂商建议或内部基线设定,达到即安排更换
相关关系CE 持续增长是 UE 风险的先行指标

典型使用场景

  • 巡检建线:按周采集 CE 与 UE 计数并做差
  • 宕机分析:出现不可纠正错误时定位到具体内存槽位
  • 换件作业:按槽位号更换内存,作业后确认计数停止增长
  • 容量变更:内存扩容后重新建立计数基线
  • 批次反馈:同一批次内存集中出现错误时反馈采购与厂商
CE 持续增长是 UE 的前兆:不要等出现不可纠正错误才安排维护,数据库与虚拟化这类对内存正确性敏感的业务尤其要注意。

常见疑问

  • 没有计数说明什么:可能是平台未暴露该接口,改用 BMC 日志与厂商工具查看
  • UE 后重启能否继续用:同一位置很可能再次触发,应先定位再换件
  • 更换后计数不归零:部分平台的累计计数不会清零,判断要看增量
换件作业完成后要继续观察一个巡检周期:如果同一位置的计数继续增长,说明定位或更换动作需要重新核对,不要急于关闭工单。

易错点

  • 把 CE 当噪音忽略:累积后进入 UE 风险区
  • UE 后不定位就重启:同一内存条会再次触发问题
  • 没有采样基线:无法判断计数是历史遗留还是近期新增

数据来源与参考

  • Linux 内核 EDAC 文档(CE/UE 计数)
  • 厂商内存 RAS 白皮书(通用)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌