我注意到我们的一台服务器最近出现了一堆错误/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 很可能出现了问题,可能会或可能不会变成更严重的问题。
我不会因为从不同来源收到不一致的信息而感到太沮丧。总的来说,我发现固件级别的任何东西都是特定于平台的(即特定于特定硬件型号)。我对固件相关问题的经验法则是,供应商工具通常最准确,但可用性最差。更通用的开源工具更容易使用,但可能无法提供足够的信息来准确显示正在发生的事情。