为什么我的“已提交”内存比实际 RAM 空间高得多?

为什么我的“已提交”内存比实际 RAM 空间高得多?

http://i.imgur.com/cilRmfD.png

我已经运行了两次病毒扫描,但到目前为止都没有发现任何问题(Malware Bytes 和 Avira Rescue)。在玩游戏时,我会收到 Windows 弹出窗口,提示我的系统内存不足,建议关闭游戏。浏览网页时也会发生这种情况。我的电脑似乎变得非常缓慢,经常会挂断,例如当我单击通讯程序中的链接以在浏览器中打开时。

我不确定是什么原因造成的。进程选项卡上的内存使用量并没有占到实际内存的这么高百分比。


顺便问一下,我的磁盘使用率有时会飙升到 100% 吗?研究似乎表明是这样。

答案1

“为什么我的“已承诺”内存比实际 RAM 空间高得多?”因为“已提交”主要是进程私有的虚拟的地址空间,其中一些可以位于 RAM 中,一些可以位于页面文件中。

有些可能根本不占用任何存储空间!这是如果它已被分配但从未被访问过,因此还没有“故障”。但它仍然计入“提交限制”,因为如果将来访问它,它将占用存储空间然后。此时系统已经来不及说“抱歉,我们已经没有房间了”。

重点是虚拟的内存是可以比物理(RAM)大得多,不是吗?

顺便说一句...您的页面文件似乎约为 24 GB,因为您有 8 GB 的 RAM,而提交限制为 32 GB。因此,您的“已提交”可能高达 32 GB。(目前几乎就是这么高,因此减少或消除页面文件不是一个好主意。)

而 RAM 的使用量就只是如此。因此,当然,使用的 RAM + 使用的页面文件可能大于使用的 RAM。

毕竟,虚拟内存的意义之一在于,你可以使用比物理内存 (RAM) 更多的虚拟内存。

如果您想要找出正在使用已提交内存的内容,您需要查看任务管理器的“详细信息”选项卡并启用“提交大小”列。

“提交大小”列的总数也不会加到“提交费用”(您的机器上为 30.1 GB),因为其他因素也会影响提交费用:非分页和分页池以及一些更“微妙”的机制,如写时复制部分、页面文件支持部分、AWE 映射……但与进程私有 vas 相比,这些通常很小)

在该选项卡上,“内存(私有工作集)”列对应于“进程”选项卡中显示的“内存”。这是当前分配给每个进程的已提交虚拟地址空间的 RAM。其余部分将位于页面文件中。但是,进程还有其他类型的地址空间,大部分是称为“映射”的地址空间,其中一部分也将位于 RAM 中。操作系统还会创建其他系统范围的东西,而不是特定于任何进程的东西,它们也会占用 RAM。

简而言之,“进程”选项卡的“内存”列不应该加起来等于正在使用的总 RAM。它只显示每个进程私下使用了多少总使用量。

答案2

思考这个问题的简单方法是回顾 1995 年。

高端 PC 会8MB 的 RAM(是的,兆字节)。然而在 Windows NT(后来成为 Windows 2000,后来成为 Windows XP)上,你的应用程序会认为它们可以访问 2英国记忆——这个数字大得令人难以置信。

你的应用程序可以做到这一点:

  • 它可以分配 2 GB 内存
  • 而实际的 PC 只有8内存容量

这怎么可能呢?我的程序怎么会占用 2 GB 的内存,而 PC 只有 8 MB 的 RAM?这些东西都去哪儿了?显然不是进入 RAM 芯片。

答案是虚拟的记忆

应用程序以 4 KB 块的形式分配内存,称为页面. 如果 RAM 中的所有页面都已满:

  • Windows 会选择 RAM 中一些很少使用的页面
  • 将该 4 KB 页面的副本保存到页面文件在你的硬盘上
  • 然后将新可用的页面提供给你的应用

那么如果使用该程序需要嗎?

  • 那么 Windows 就会检测到你的应用程序正在尝试访问一个“交换”出到页面文件
  • 释放 RAM 中的其他页面
  • 使用硬盘上保存的值填充新可用页面的内容

然后您的应用程序就可以访问该页面,就像什么都没发生一样。

今天也同样如此

  • 你可以有“坚定的”31 GB 的“记忆”
  • 虽然只有 8 GB“内存”

因为RAM只是一种内存。

答案3

Windows 使用页面文件,它类似于 RAM,但存储在硬盘中。它的速度要慢得多,但在您需要使用比计算机内存更多的内存时很有用。当 Windows 需要存储更多内存但 RAM 中没有空间来存储时,它会将一段时间未使用的内存部分存储在页面文件中。

已分配内存是计算机内存加上页面文件。有时程序似乎使用了过多内存,导致 Windows 将某些内容存储在页面文件中。页面文件不够大,无法容纳 Windows 在其中存储的所有内存,因此它必须增加其大小。它不断增加其大小,直到达到极限。现在 Windows 无法进一步增加页面文件,这意味着它无法存储任何额外内存,因此它唯一的选择是告诉您关闭一些程序以减少内存使用量。您的计算机运行缓慢的原因是它需要从页面文件加载内容,这比直接从 RAM 加载要慢得多,并且由于页面文件存储在硬盘中,因此磁盘使用率非常高。

您不应该打开太多程序,并确保您的计算机有足够的内存来运行您正在玩的游戏和您使用的程序。希望这对您有所帮助!

相关内容