语境
您可以跳过此部分。我讲得有点啰嗦。
这是一台台式电脑。我的主板是 MSI P67A-C45。两个内存模块是 DIMM 1 和 DIMM 3 中的 4GB DDR3-1333,双通道。
几个月前,我开始遇到随机图形故障,导致我的视频驱动程序 (nVidia) 偶尔崩溃并重新启动。当使用硬件加速时,这种情况尤其严重,尤其是在 3D FPS 游戏中,即使使用 10 多年的旧goldsrc
引擎也是如此。播放 Flash 视频时也会发生这种情况,偶尔在什么都不做时也会发生这种情况。大多数时候都很好。只有在系统运行一段时间后才会出现这种情况 - 正常运行时间,自上次重启以来的时间,而不是休眠状态。一旦出现故障,我不得不关闭计算机并将其关闭几分钟。我怀疑是视频卡 - 也许过热了?但温度监控程序报告 GPU 温度为凉爽的 40 摄氏度。
最近(上周或两周),当我整夜开着电脑时,我醒来发现电脑蓝屏了,出现了内存相关错误。我目前正在重新运行 Memtest86+,因此我无法找出确切的错误消息/代码,如果有人真的想要的话。
与此同时,一些程序开始随机崩溃(“xxxx 已停止工作。”,带有关闭按钮)。这种情况会发生在 Firefox 和前面提到的 FPS 游戏上。我实际上没有运行任何其他程序,崩溃是随机的。也就是说,它们可能会立即崩溃,或者在我使用它们的整个过程中(几个小时)运行良好。故障排除者的噩梦。
Memtest86+
第一次运行大约超过 12 个小时,我得到了以下结果:
有一些不正常的地方。首先,我在 DIMM1 和 DIMM3 中安装了 2 个 4GB DDR3-1333 模块,双通道。报告的是 DDR3-8247,不管它是什么。其次,所有失败的地址都超出了我的总 RAM 容量。这在试图找出哪个模块可能出现故障时并没有多大帮助。显然,至少有一个是失败。
我重新安装了模块并再次尝试:
如您所见,频率和延迟完全不同。延迟值更接近我依稀记得在 CPU-Z(或者是 HWiNFO32?)中看到的值。此测试才刚刚开始,因此这些值完全有可能在测试期间的某个时间发生变化。
此外,考虑到错误只是在后期才开始出现,这可能是过热问题吗?想想我已经使用这台电脑大约一年了,只是在过去三个月左右才发生这种情况。
我的主要问题仍然是:为什么失败的地址高于我的容量?
答案1
某些硬件设备需要物理地址低于 4GB 的内存空间才能进行 32 位 DMA。因此,4GB 以下的大量地址空间被保留用于这些映射。通常位于该空间的 RAM 将被重新映射到物理内存的当前末端。
我怀疑热量可能是一个问题。