位翻转-检测和原因

位翻转-检测和原因

大约一周前,我遇到了一个非常有趣的情况。我有一台工作站 - 一台旧台式机,配有华硕 P5LD2 主板和 4 x 1 GB 非注册 DDR2 金士顿内存。同一台机器很久以前遭遇过一次断电,我记得大概是 12-14 个月前。断电时,电源烧坏了,硬盘坏了。我更换了电源,进行了测试,包括,memtest一切似乎都很好。用户一直很开心地使用它,直到上周的一天,他发现他的一些文件中最近有一些数据“损坏”。我调查了这个问题,并设法将其缩小到主板故障。然而,“数据损坏”相当有趣,而且可以重现:

  • 将文本文件从本地目录复制到另一个本地目录,并diff在两个版本之间运行,文件中只有某个随机位置发生了 1 位变化;
  • 在十六进制文本编辑器中查看,此位始终是 8 位中的第 6 位,即十六进制 19 变成十六进制 39;
  • 访问 NFS 挂载和本地挂载时可重现此问题。在其他客户端上重复相同的测试没有发现任何差异;
  • 当通过网络从这台机器复制rsync -av命令时失败Corrupted MAC on input. Disconnecting: Packet corrupt
  • 尝试了相同的 MB,但不同的内存设置 - 再次存在差异;
  • 另一台华硕 P5LD2 MB 上的旧内存设置 - 没有区别;
  • memtest 运行了超过 24 小时 - 没有报告任何错误。

测试得出的结论是 - 位翻转仅发生在这台机器上,无论使用的内存集和数据位置(本地或 NFS)如何。

根据我的所有测试,等式中剩下的唯一组件是主板和 CPU。

我的问题是:

  1. 什么原因导致位翻转以及它究竟是如何发生的?
  2. 有办法检测它吗?
  3. memtest当失败时,如何测试/探测它?

我家里仍有这台有问题的机器,我愿意进行任何测试来了解更多相关信息。

操作系统是 Ubuntu Lucid 10.04,64 位。

编辑 我忘了提到 MB 上的大多数(如果不是全部)电容器顶部都是弯曲的,而不是平的。

答案1

听起来像是 CPU 访问磁盘控制器和网卡等外围设备时出现的问题。可能是北桥过热。当 CPU 很热时,北桥会比其他情况下更热。也可能是 CPU 过热。

在内存测试期间,I/O 和 CPU 工作量很少。

我忘了提到 MB 上的大多数(如果不是全部)电容器顶部都是弯曲的,而不是平的。

这将导致为 RAM、CPU 和北桥等组件供电的直流电源在负载增加时变得嘈杂。这很可能是导致您出现问题的原因。我认为主板应该退役了。

相关内容