为什么应用程序在切换到它们时如此缓慢,即使我有可用 RAM?

Cur*_*ous 9 memory windows-7 performance

在我的 Windows 7(64 位)PC 上,当我运行一些资源匮乏的程序和其他六个程序时,当我切换到一段时间未使用的应用程序时,需要很长时间才能做出响应我可以听到硬盘驱动器工作很多。我假设它是从页面文件中获取数据。在 Windows 任务管理器中,它显示我使用了大约 75% 的物理 RAM,其余部分在缓存和空闲之间分配了大约 50/50。

即使 RAM 可用,它是否将数据从 RAM 移出到仅在磁盘上?如何使其他程序响应更快?从一个程序切换到另一个程序时,将我的 RAM 从 4GB 增加到 8GB 会加快速度吗?

Dav*_*rtz 7

Windows 必须在吞吐量和延迟之间进行权衡。

如果它将应用程序保存在 RAM 中,即使它们很长时间没有被使用,吞吐量也会受到影响。已使用但空闲的物理 RAM 会减少其他应用程序和系统可用的 RAM。

Windows 决定将长时间未访问的内存调出。这允许将更多物理 RAM 用作磁盘缓存,并显着提高应用程序吞吐量。

权衡是当这些应用程序最终确实需要访问一段时间未访问的内存页面时,它们可能不会驻留。在这种情况下,应用程序在将它们读回 RAM 时必须等待片刻。

Windows 通常在进行这些权衡方面做得很好,我不建议尝试过多地调整它。您可以改善延迟,但会对吞吐量造成巨大损失,更糟糕的是,您可能会进入某些事情无法正常工作的状态。(例如,如果您禁用分页文件,两个月后您可能会发现您正在编辑大图像或其他东西,并且根本无法保存它,因为内存分配总是失败。)

当然,您可以随时添加更多 RAM。现在便宜得离谱。这使得 Windows 一开始就不太可能做出任何权衡。


Chr*_*isF 6

Windows 会将程序从内存中分页到磁盘上。我不知道它使用的算法,但如果它查看应用程序空闲的时间长度,我不会感到惊讶。

Windows 将尝试最大化可用物理 RAM 的数量,因为这很有用,因此将内存升级到 8 GB 甚至 12 GB 将提高系统的响应能力——尤其是当您运行多个“资源匮乏”应用程序时。

  • 它肯定会查看内存空闲的时间。当 Windows 需要更多可用的物理 RAM 时,它首先会丢弃(或页出)很长时间未访问的内存页。 (3认同)