诊断Linux上的硬locking

在过去的一个月中,我的一个Debian Squeeze(Linux 2.6.32-bpo.5-amd64)机器确实被locking了两次, 很难 。 没有响应ARP,黑暗控制台,大写locking,数字locking不工作, Magic SysRq无效。 从backports将内核更改为3.2.0-0.bpo.2-amd64也无济于事。

温度和负载监控在碰撞之前不会显示任何尖峰。

我应该如何诊断和debugging这样的问题?

netconsole是我唯一的select吗?

编辑:我已经禁用屏幕消隐:

#/etc/console-tools/config BLANK_TIME=0 POWERDOWN_TIME=0 

 setterm -blank 0 

在物理控制台上。

更新:

这一次它locking,屏幕仍然显示login提示。 由于最后的问题,我已经用BOINC(Prime 95)testing运行了6小时的负载testing,没有任何问题。

我find了两种可能的解决scheme,如果他们工作,我会报告。 编辑:他们没有

首先是通过将nmi_watchdog=1添加到内核引导参数来启用nmi_watchdog=1

第二个(谢谢@womble的build议) 强迫ECC的

 modprobe amd64_edac_mod ecc_enable_override=1 edac_op_state=1 

不幸的是,在2.6.32-bpo.5-amd64(Debian squeeze)内核中缺less对ECC DDR3内存的支持,我不得不使用backports中的3.2。

我也将这些选项添加到一般的内核参数:

 echo options amd64_edac_mod ecc_enable_override=1 edac_op_state=1 > /etc/modprobe.d/amd64_edac_mod.conf 

由于挂起越来越频繁,问题可能是由于主板故障或CPU不太可能造成的。 更换这些组件后,问题就消失了。