我今天早上醒来,对我来说是第一次;我的一个系统记录了DRAM ECC error
通知。事实上,其中三个,据我所知,内存位置完全相同(显然,系统实际上并未命名为 localhost):
Aug 31 05:00:46 localhost kernel: [719099.816034] [Hardware Error]: CPU:0 MC4_STATUS[-|CE|MiscV|-|AddrV|-|-|CECC]: 0x9c6c40006b080a13
Aug 31 05:00:46 localhost kernel: [719099.816046] [Hardware Error]: MC4_ADDR: 0x0000000641f49d20
Aug 31 05:00:46 localhost kernel: [719099.816051] [Hardware Error]: Northbridge Error (node 0): DRAM ECC error detected on the NB.
Aug 31 05:00:46 localhost kernel: [719099.816059] EDAC amd64 MC0: CE ERROR_ADDRESS= 0x641f49d20
Aug 31 05:00:46 localhost kernel: [719099.816070] EDAC MC0: CE page 0x641f49, offset 0xd20, grain 0, syndrome 0x6bd8, row 2, channel 0, label "": amd64_edac
Aug 31 05:00:46 localhost kernel: [719099.816075] [Hardware Error]: cache level: L3/GEN, mem/io: MEM, mem-tx: RD, part-proc: RES (no timeout)
上述之后是系统时间05:10:46
(719699.8160) 的相同通知,然后是 (720299.8160)的另一个通知,该通知05:20:46
也Over
在线CPU:0 MC4_STATUS
(状态0xdc6c40006b080813
)。到目前为止,系统一直很稳定,没有记录更多错误。系统活动正常,有问题的系统自 2014 年以来一直使用 ECC RAM 运行,但从未记录任何 ECC 错误。
我不会太担心单个可纠正的 ECC 错误。记录的错误之间几乎正好十分钟(实际上低至几微秒)可能只是用于每十分钟进行一次 RAM 清理;不幸的是,在这个特定的系统上,擦洗间隔没有作为设置公开。但是,同一内存位置(相同的值)中的三个连续错误CE ERROR_ADDRESS
确实让我有点担心。
更新:自从我最初发布这个问题以来,有问题的主机已经记录了几个,所有的CE ERROR_ADDRESS
.
我应该认真对待这件事吗?什么是好的回应;立即订购更换 RAM 并安排尽快安装它,将其视为只是暂时的故障,或者如果再次发生但现在没有具体行动,请准备更换 RAM?
ECC RAM 往往用于关键服务器。系统正在报告硬件故障。如果它不是一个关键系统,并且您不介意经历它的所有内容可能会损坏,请务必等待并看看会发生什么,但如果您关心您的数据而不是 RAM 的成本,请尽快更换有故障的 RAM。
我建议运行 memtest86+
http://www.memtest.org
它还作为标准包包含在某些发行版中。
它可以证实您对内存模块故障的怀疑。
维基百科关于内存擦洗的网页说:
该网页包含指向 SuperMicro X9SRA 主板手册的链接,其中解释了擦洗间隔:
因此,原因不是擦洗。有可能是有故障的位。虽然故障可能突然发生,但它消失又回来似乎很奇怪,尤其是当它如此频繁地发生时。
发明nohammer内核模块的 Pavel Machek 说:
您可以更换 RAM 模块,并查看错误报告是否跟随芯片、粘在内存位置或发生在其他地方。
HPE 建议(针对有故障的内存模块):
建议的行动方案:
在其插槽中切换 RAM 将告诉您它是特定的 RAM 模块还是故障出在其他电路中。
只要您每隔几天没有收到超过一个位错误,就不会出现恐慌(匆忙)。
如果您每 10 分钟受到一次打击,您可能会受到重击。
另请参阅:“在内核中防御 RowHammer ”和“ ECCploit:ECC 内存毕竟易受 Rowhammer 攻击”。对于 ARM 处理器,有:“ Android GuardION 补丁可缓解基于 DMA 的 Rowhammer 对 ARM 的攻击”。