我该如何解读 MCE 消息?

我该如何解读 MCE 消息?

我注意到我们的一台服务器最近出现了一堆错误/var/log/messages(见下文)。但是,mce 客户端似乎比 syslog 中解码的条目更不确定错误来源。是否有某种密钥可用于解释 MCE 输出?

Nov 12 04:19:19 areion kernel: [14698753.176035] Machine check events logged
Nov 12 04:19:19 areion mcelog: HARDWARE ERROR. This is *NOT* a software problem!
Nov 12 04:19:19 areion mcelog: Please contact your hardware vendor
Nov 12 04:19:19 areion mcelog: MCE 0
Nov 12 04:19:19 areion mcelog: CPU 0 BANK 8
Nov 12 04:19:19 areion mcelog: MISC 640738dd0009159c ADDR 96236c6c0
Nov 12 04:19:19 areion mcelog: TIME 1352711959 Mon Nov 12 04:19:19 2012
Nov 12 04:19:19 areion mcelog: MCG status:
Nov 12 04:19:19 areion mcelog: MCi status:
Nov 12 04:19:19 areion mcelog: MCi_MISC register valid
Nov 12 04:19:19 areion mcelog: MCi_ADDR register valid
Nov 12 04:19:19 areion mcelog: MCA: MEMORY CONTROLLER RD_CHANNELunspecified_ERR
Nov 12 04:19:19 areion mcelog: Transaction: Memory read error
Nov 12 04:19:19 areion mcelog: STATUS 8c0000400001009f MCGSTATUS 0
Nov 12 04:19:19 areion mcelog: MCGCAP 1c09 APICID 20 SOCKETID 1
Nov 12 04:19:19 areion mcelog: CPUID Vendor Intel Family 6 Model 44

所有错误似乎都与同一个存储库有关:

areion:~# awk -F'mcelog:' '/mcelog:.*BANK/{ print $2; }' < /var/log/messages |uniq
 CPU 0 BANK 8 

我正在运行 mcelog 守护程序,当我检查错误信息时,它似乎不知道错误来自何处。只知道它们与以下内容相关CPU0(我们在这个盒子里只有一个 CPU):

Memory errors
SOCKET 1 CHANNEL any DIMM any
corrected memory errors:
        77 total
        77 in 24h
uncorrected memory errors:
        0 total
        0 in 24h
Per page corrected memory statistics:
359ffc000: total 2 2 in 24h online

3b93cc000: total 2 2 in 24h online

3ce45c000: total 2 2 in 24h online

96236c000: total 20 20 in 24h online triggered

96545c000: total 9 9 in 24h online

96a82c000: total 9 9 in 24h online

96a8ec000: total 1 1 in 24h online

96fb6c000: total 15 15 in 24h online triggered

9c2edc000: total 15 15 in 24h online triggered

9c5eac000: total 1 1 in 24h online

9c6a1c000: total 1 1 in 24h online

我完全不清楚如何解释这些信息。一方面,mce 客户端没有指示通道或 DIMM,但解码的消息表明错误发生在 DIMM 8 上。dmesg似乎表明只记录了 42 条消息:

[14698753.176035] Machine check events logged
[14698753.629174] Machine check events logged
[14698815.338595] __ratelimit: 38 callbacks suppressed
[14698815.338628] Machine check events logged
[14698816.020797] Machine check events logged

我似乎收到了混乱的信息,这让我想知道根据从各个来源报告的信息该做出什么假设。

其他信息:

areion:~# grep 'model name' /proc/cpuinfo |uniq
model name      : Intel(R) Xeon(R) CPU           X5670  @ 2.93GHz

areion:~# apt-cache policy mcelog |grep Installed
  Installed: 1.0~pre3-3

areion:~# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 6.0.6 (squeeze)
Release:        6.0.6
Codename:       squeeze

答案1

您可能想尝试更换有问题的 DIMM(CPU 0、SOCKET 8)并查看是否继续生成 MCE 消息。

mcelog 软件包配置了一些默认阈值,用于针对随时间发生的各种 MCE 事件。查看/etc/mcelog/mcelog.conf详细信息。对于内存页面错误,阈值是 24 小时内发生 10 次事件。(我不太清楚这个数字从何而来,但它可能是一个合理的参考点)。您的帖子提到 24 小时内针对大量页面发生了 77 次可纠正事件,因此 DIMM 很可能出现了问题,可能会或可能不会变成更严重的问题。

我不会因为从不同来源收到不一致的信息而感到太沮丧。总的来说,我发现固件级别的任何东西都是特定于平台的(即特定于特定硬件型号)。我对固件相关问题的经验法则是,供应商工具通常最准确,但可用性最差。更通用的开源工具更容易使用,但可能无法提供足够的信息来准确显示正在发生的事情。

相关内容