我有一堆 Sun X2200-M2 服务器。这些服务器具有 ECC 内存。
在其中一些服务器中,我在 eLOM 中收到有关“检测到可纠正的 ECC 错误”的警告,例如:
# ssh regress11 ipmitool sel elist
1 | 05/20/2010 | 14:20:27 | Memory CPU0 DIMM2 | Correctable ECC | Asserted
2 | 05/20/2010 | 14:33:47 | Memory CPU0 DIMM2 | Correctable ECC | Asserted
Run Code Online (Sandbox Code Playgroud)
...有些比其他更频繁。
这个特定系统上的内核也抛出 EDAC 错误,尽管频率远高于 eLOM 记录 ECC 事件的频率:
EDAC k8 MC0: general bus error: participating processor(local node response), time-out(no timeout) memory transaction type(generic read), mem or i/o(mem access), cache level(generic)
MC0: CE page 0x42a194, offset 0x60, grain 8, syndrome 0xf654, row 4, channel 1, label "": k8_edac
MC0: CE - no information available: k8_edac Error Overflow set
EDAC k8 MC0: extended error code: ECC chipkill x4 error
EDAC k8 MC0: general bus error: participating processor(local node response), time-out(no timeout) memory transaction type(generic read), mem or i/o(mem access), cache level(generic)
MC0: CE page 0x48cb94, offset 0x10, grain 8, syndrome 0xf654, row 5, channel 1, label "": k8_edac
MC0: CE - no information available: k8_edac Error Overflow set
EDAC k8 MC0: extended error code: ECC chipkill x4 error
Run Code Online (Sandbox Code Playgroud)
现在,如果服务器检测到不可纠正的 ECC,系统将重置,很明显这很糟糕,移除/更换已识别的棒或对可以纠正问题。
但我在想,如果错误是可纠正的,那么就不会立即出现问题——我可以将其视为警告,并准备好在开始发生不可纠正的错误时拔出棒/对?
Chr*_*s S 10
取决于您收到错误的频率。出于各种原因,ECC 应该平均每年纠正一次单比特错误。如果你得到它们的速度比这快得多,或者如果它们是多位错误,你应该担心(我会尽快更换 RAM)。
此外,ECC 并不完美。累积误差有可能通过ECC;这将显示为操作系统崩溃或类似问题。