- Thinkpad t520;Ubuntu 12.04.1 LTS;3.2.0-33-通用;16GB 内存。
- Memtest86+ 运行了 26 个小时,通过了 9 次,没有错误。
- 启动到“恢复模式”:运行
fsck
所有文件系统 - 没有错误;“检查所有包” - 没有错误。 - 明显的随机内存损坏:
perl
//R
时不时chrome
地发生段错误,似乎是随机的;sort(1)
产生损坏的未分类的文件。
可能存在什么错误以及我该如何调试它?
答案1
随机内存损坏并不能说明这肯定是内存模块问题,可能还有很多其他原因。从软件和配置开始……
- 你可能运气不好,你的软件包树只有百万分之一的机会“内部一致”,而“外部不一致”(软件包和 crc 损坏导致软件包有效)<-纯理论。
- 使用有错误(软件、系统或内核)的不稳定分支包。
- 使用有错误(特定硬件和软件条件下的系统错误)或过时版本的稳定分支包。
- 病毒会破坏内存文件,例如已从硬盘缓存的库。
- 内核问题 - 您的某个内核驱动程序不够稳定。例如?Virtualbox 驱动程序已知会导致主机出现一些随机内存问题。其他驱动程序,尤其是自定义(或测试版)驱动程序可能会导致类似(或其他)不良情况发生。
- 出现故障的外部设备,其驱动程序可能无法进行一些健全性检查……而这对于完全运行的硬件来说是不需要的。
- 硬件问题,虽然不完全是内存模块问题。内部设备故障 - 您的芯片(如音频/图形)或 pci/pcie 卡可能已损坏,并可能对您的系统内存造成损害,因为它们都共享硬件级内存访问。或者它们可能会损坏其他部件,从而损坏内存。
- 环境问题 - 您的 CPU 或桥接器可能过热 - (尤其是连接 CPU 与系统内存的北桥,但最近与 CPU 结合) - 但请注意,它们可能会因发生其他操作而过热,例如 GPU 密集型应用程序(因此您不会在 VGA 会话上运行的内存测试软件中收到任何错误)。
因此 - 如您所见,有很多不同的可能性,但上述大多数情况在这种情况下并不经常发生。我建议您尝试从 liveCD 运行系统并检查它是否在那里发生段错误,如果发生,请尝试拔下您不需要的任何硬件(或在 bios/uefi 中禁用它),然后 - 检查另一台计算机上的内存模块并检查具有不同内存模块的计算机。
答案2
Ubuntu 中还有其他用于 RAM 测试的工具。它们可能会检测到 Memtest86+ 无法检测到的错误,因为错误取决于写入内存的模式。
MPrime是一款流行的 RAM 和 CPU 测试工具。如果您使用它来测试 RAM,请确保手动指定要使用的内存量 — 否则默认为 1600 MB。例如,
Type of torture test to run (3): 13
Min FFT size (in K) (8):
Max FFT size (in K) (4096):
Memory to use (in MB, 0 = in-place FFTs) (1600): 15000
记忆测试仪是另一个 RAM 测试器,位于存储库中。