![为什么在内存条出现故障之后,新内存的运行速度会比具有相同统计数据的旧内存快得多?](https://linux22.com/image/1535005/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%9C%A8%E5%86%85%E5%AD%98%E6%9D%A1%E5%87%BA%E7%8E%B0%E6%95%85%E9%9A%9C%E4%B9%8B%E5%90%8E%EF%BC%8C%E6%96%B0%E5%86%85%E5%AD%98%E7%9A%84%E8%BF%90%E8%A1%8C%E9%80%9F%E5%BA%A6%E4%BC%9A%E6%AF%94%E5%85%B7%E6%9C%89%E7%9B%B8%E5%90%8C%E7%BB%9F%E8%AE%A1%E6%95%B0%E6%8D%AE%E7%9A%84%E6%97%A7%E5%86%85%E5%AD%98%E5%BF%AB%E5%BE%97%E5%A4%9A%EF%BC%9F.png)
我使用的是华硕 P6T Deluxe v2 主板和第一代 i7 处理器。我在匹配的三通道套装中运行 6x2 GB 的金士顿 HyperX PC1600 CAS 9 RAM,最近我的台式机速度慢了很多。最后,两根 RAM(在两个不同的通道上,每个组一根)彻底失效,无法被识别。
我决定用 Crucial 的全新 PC1600 CAS 9 RAM 套件(唯一一款仍以套件形式提供的型号)替换所有 6 根内存条,并对体验到的改进程度感到惊讶。我确实将 DIMM 从 2GB 增加到了 4GB(从而使可用 RAM 翻倍),但即使总 RAM 利用率低于 8GB 点,性能也会得到改善。
改进范围包括游戏帧率提高一倍到三倍、大内存加载时间提高一倍以及系统启动和某些进程启动速度提高 3 到 6 倍。
测试包括 WOW 中的帧速率从平均 30fps 增加到平均 97fps,Teamspeak 的加载时间从 10 秒以上减少到 2 秒以下。系统启动时间从约 40 秒减少到约 20 秒。登录到完全加载的桌面时间从大约一分钟减少到大约 30 秒。WOW 级别的加载时间从大约 20 秒减少到大约 10 秒。Davinci Resolve 中的 4K 视频渲染时间提高了一倍。SimC 模拟的运行时间大约是以前不同长度模拟的一半(这个可能与总内存有关,因为我无法验证整个运行过程中的使用率),Warhammer 40k 3 的加载时间从大约一分钟减少到大约 10 秒。
不幸的是,没有一个时间是准确的,因为我没有预料到改进的规模或范围,并且在变化之前没有采取确切的措施。
即使与两根内存条出现故障之前相比,我发现这些任务的性能也提高了 25% 到 100%,即使内存占用不超过 12GB。
是什么原因造成的?我的理解是内存不会随着时间而“变慢”,但我不确定是什么原因导致整体性能发生如此巨大的变化,因为即使系统上使用的内存不超过 12gb,我也看到巨大的性能差异。
旧款 RAM 显然不是三件套,而是 3 件套 KHX12800D3K2/4G。新 RAM 是 CMZ24GX3M6A1600C9。完整 CAS 评级的最后一部分有差异,新 RAM 的速度快了 3 个周期,所以这可能也是原因之一。
答案1
经过聊天讨论,我确信这个问题是由 CPU 热节流问题引起的。在 CPU 节流开始后的某个时刻(由于 CPU 冷却器堵塞),两根 RAM 出现故障,导致系统无法使用三通道内存带宽。
由于受限制的 CPU 无论如何都无法跟上内存带宽,所以当时并没有注意到这个额外的性能损失,但是,当我恢复 CPU 冷却性能并移除热限制时,缺少完整的内存通道会在较小程度上限制性能。
更换 RAM 会产生恢复完整内存带宽的影响,这会产生大多数观察到的行为。TS 加载时间的 5 倍改进仍然有点奇怪,但与其他 2 倍到 3 倍的改进相比,这是一个异常值,这与从故障的单通道内存状态恢复到功能正常的三通道性能一致。不幸的是,他们似乎不再生产金士顿 RAM,我无法验证这一理论,但它似乎很好地解释了一切。