解释坏 DIMM 的 mcelog 输出

use*_*569 8 memory

我在没有物理访问权限的机器上收到 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
Run Code Online (Sandbox Code Playgroud)

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

第二个问题是我无法弄清楚BANK 5是什么意思。它不是 DIMM 插槽的同义词,因为现在我们只使用插槽 1-4。dmidecode 在每个 DIMM 上有用地报告“Bank Locator: Not Specified”。

此外, MEMORY CONTROLLER MS_CHANNEL3_ERR 让我认为错误是在通道 3 上发生的。根据主板图,通道 3 用于插槽 4、8 和 12,这意味着 4 中的 DIMM 是罪魁祸首,但我不知道如何验证。

我已尝试使用 --dmi 开关进行 mcelog,但它失败并建议和更新。这台机器严重过时(Ubuntu 12.04,甚至不是该版本的最新软件包),但更新它会打开另一罐蠕虫。我想先解决这个内存问题,然后再尝试其他任何激烈的方法。

我很感激在我将长途驱动器上的某人送到数据中心之前,在解释这一点并弄清楚要替换的内容方面的任何帮助。

use*_*569 7

我从来没有找到对 mcelog 数据的明确解释,但我最好的猜测成功了,我想我应该为后代跟进。

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

我让有人换掉那个 DIMM,而且,很快!不再有机器检查错误流。