我注意到最近刚出现在我们其中一台服务器上的/ 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
解决方法
您可能想尝试更换有问题的DIMM(cpu 0,SOCKET 8)并查看是否继续生成MCE消息.
mcelog软件包配置了一些默认阈值,用于随时间发生的各种MCE事件.有关详细信息,请查看/etc/mcelog/mcelog.conf.对于内存页面错误,阈值是24小时内的10个事件. (我不确定这个数字的来源,但它可能是一个合理的参考点).你的帖子在24小时内针对一大堆页面提到了77个可纠正的事件,因此DIMM很可能已经出现了一个问题,可能会或可能不会变成更严重的问题.
我不会对收到来自不同来源的不一致信息感到不安.一般来说,我发现固件级别的任何东西都是特定于平台的(即特定于特定的硬件型号).我对固件相关问题的经验法则是,供应商工具通常是最准确的,但最不可用.更通用的开源工具更易于使用,但可能无法提供足够的信息来准确显示正在发生的事情.