解释损坏的 DIMM 的 mcelog 输出

解释损坏的 DIMM 的 mcelog 输出

我在一台无法物理访问的机器上收到 mcelog 错误流。这似乎是一条坏的 DIMM,但我很难确定具体是哪一条。

mcelog 输出看起来像

Hardware event. This is not a software error.
MCE 0
CPU 1 BANK 5 
MISC 21402a2a86 ADDR a8c35dcc0 
TIME 1452026764 Tue Jan  5 12:46:04 2016
MCG status:
MCi status:
Error overflow
Corrected error
MCi_MISC register valid
MCi_ADDR register valid
MCA: MEMORY CONTROLLER RD_CHANNEL3_ERR
Transaction: Memory read error
STATUS cc0000c000010093 MCGSTATUS 0
MCGCAP 1000c14 APICID 20 SOCKETID 1 
CPUID Vendor Intel Family 6 Model 45

Hardware event. This is not a software error.
MCE 1
CPU 1 BANK 11 
MISC 90840000000208c ADDR a089ddac0 
TIME 1452026764 Tue Jan  5 12:46:04 2016
MCG status:
MCi status:
Corrected error
MCi_MISC register valid
MCi_ADDR register valid
MCA: MEMORY CONTROLLER MS_CHANNEL3_ERR
Transaction: Memory scrubbing error
STATUS 8c000050000800c3 MCGSTATUS 0
MCGCAP 1000c14 APICID 20 SOCKETID 1 
CPUID Vendor Intel Family 6 Model 45

我的输出和 mcelog 文档之间存在很多不一致。我的第一个问题是有 2 个 8 核 Xeon,通常我会假设它们的编号为 0 和 1。但是,我读过的一些帖子表明“第一个”CPU 可能被 mcelog 标记为 CPU 0-7,而“第二个”则被标记为 CPU 8-15。

第二个问题是,我搞不清楚 BANK 5 是什么意思。它与 DIMM 插槽不是同义词,因为目前我们只使用插槽 1-4。dmidecode 有助于报告每个 DIMM 上的“Bank Locator:未指定”。

另外,内存控制器 MS_CHANNEL3_ERR 让我认为错误发生在通道 3 上。根据主板图,通道 3 适用于插槽 4、8 和 12,这意味着 4 中的 DIMM 是罪魁祸首,但我不确定如何验证这一点。

我尝试使用 --dmi 开关来运行 mcelog,但失败了,并建议进行更新。这台机器已经严重过时了(Ubuntu 12.04,甚至不是该版本的最新软件包),但更新它又带来了麻烦。在尝试其他激进措施之前,我想先修复这个内存问题。

在我派人长途跋涉去数据中心之前,我很感激任何能帮助我解释这一点并弄清楚要替换什么的人。

答案1

我从来没有找到对 mcelog 数据的清晰解释,但是我的最佳猜测成功了,而且我认为我应该为后人跟进。

  • 我认为CPU 1这意味着第二个 CPU,在主板图上标记为 2。
  • 我假设MEMORY CONTROLLER MS_CHANNEL3_ERR指示的是该 CPU 内存控制器上的通道 3。如上所述,该通道控制插槽 4、8 和 12,并且只有插槽 4 中有芯片。
  • 我忽略了其他一切。

我让别人换掉了那个 DIMM,然后,瞧!不再有机器检查错误流了。

相关内容