Win7 上的物理内存问题。物理内存和系统提交内存

Win7 上的物理内存问题。物理内存和系统提交内存

我有 16GB 的 RAM 设置。我有足够的内存,但 WINDOWS 不想完全使用它,应用程序接近 11GB / 16GB。这很糟糕。

我明白为什么会发生这种情况。 WINDOWS 专注于“系统提交”内存,当它完成时 WINDOWS 会变得疯狂,它不应该这样,我希望 WINDOWS 专注于实际内存,而不是系统提交内存,可以做到这一点吗?

我也不想使用 SWAP(分页)文件。物理内存应该足够了。我在其他操作系统上没有遇到类似的问题。

记忆

答案1

您的问题是提交限制对于当前工作量来说太低。有 3 种方法可以解决此问题。

  1. 减少工作量以使提交限制足够。
  2. 添加 RAM 以增加提交限制。
  3. 启用足够的页面文件。我建议使用系统管理的页面文件。这是默认配置,也是大多数人使用的配置。

对于当前的工作负载和配置,您显然没有足够的 RAM 来处理工作负载。但通过建议的简单配置更改,您很可能有足够的 RAM。您有 5 GB 可用 RAM。Windows 没有使用它,因为不需要它。需要的是更多的提交限制,而这不可用。

提交费用有点难以解释。互联网上有很多文章对此有误解,这无济于事。但我会尽力解释。

当应用程序或系统需要内存时,它会向系统内存管理器请求。提交费用是所有此类请求的总和。通常,应用程序会请求比当前需要的更多的内存。在许多情况下,应用程序不知道需要多少内存,但希望确保在需要时可用。这并不像看起来那么糟糕。未使用的内存块(通常为 4096 字节)不会增加 RAM 使用量。只有当某个块用于某项用途时,才会为其分配 RAM。

当系统内存管理器同意内存请求时,它承诺会有一个地方来存储数据。这可能是在 RAM 或页面文件中。这些请求可用的总空间是提交限制。它是 RAM 大小加上页面文件大小减去一个小开销。如果没有页面文件,提交限制略小于 RAM 大小。

如果应用程序请求内存,并且内存超过提交限制,则请求将被拒绝。这就是您的情况。即使有足够的 RAM 可用,也可能发生这种情况。将内存请求保持在提交限制内可确保即使所有应用程序都使用了请求的所有内存也不会出现问题。应用程序完全有权这样做,因为内存管理器承诺(做出承诺)内存可用。这可能不会发生,但有可能发生。

请注意,启用大型页面文件并不意味着会使用它。要增加提交限制,它必须存在。实际使用量通常相当适中。

这里给出的解释非常简单。实际情况要复杂得多。用户无法更改这一点。这只能由 Microsoft 来完成,最终结果将是一个可靠性较低且收益甚微的系统。

通过禁用页面文件,您将强制内存管理器执行通常不会执行的操作。启用页面文件,内存管理器将按设计工作。性能可能会提高,您的问题也会消失。

相关内容