Windows XP 分页

Windows XP 分页

可能重复:
在 winxp 中,我有 4GB 的 RAM,使用了 1.77GB,但程序不断将内存调出。为什么?

我现在正坐在电脑前,打开了几个应用程序。我有几百兆的可用内存,而且我最近重新启动了。即便如此,许多应用程序仍在不断写入页面文件(至少,“页面错误”计数器在任务管理器中不断增加)。

当有足够的可用内存时,为什么应用程序会写入页面文件?

答案1

您应该阅读 Mark 关于 Paging 的精彩文章
突破 Windows 的极限:虚拟内存和相关帖子。
简而言之:页面文件系统不用作 RAM 的溢出空间。

答案2

可以将页面文件视为内存“助手”。它的作用是通过充当缓存来支持内存分配。页面文件通常会存储以前在内存中的内容,仅用于参考/轻松访问。

您正在运行的应用程序类型以及它们如何分配内存和加载/卸载内容也会影响页面文件的使用方式。

还可以查看 Jeff 的一篇旧帖子中有关页面文件的一些有趣讨论:

在禁用页面文件的情况下运行 XP

答案3

页面错误在维基百科中:

硬件会在以下情况下针对页面访问生成页面错误:

  • 请求的地址对应的页面还没有加载到内存中。
  • 访问的内存地址对应的页面被加载,但是其当前状态尚未在硬件中更新。

这意味着其中一个应用程序正忙于通过引用将数据或代码加载到内存中,这与 I/O 磁盘操作不同。

由于您有大量可用内存,因此无法将程序/数据换入或换出到页面文件。

我能想到的唯一其他解释是,某个程序创建了一个内存映射文件并正在处理它。此操作映射与文件大小相等的内存部分,尽管文件保留在磁盘上,直到程序通过指针引用此“内存”。

问题:任务管理器中的哪个程序产生了所有这些页面错误?

答案4

这里存在一些误解,主要是由于任务管理器中的标签不一致且具有误导性。

  1. 任务管理器中标记为“可用”的内存大部分实际上正在使用中。您拥有的可用内存远没有您想象的那么多。
  2. 标记为“PF 使用量”的不是实际的页面文件使用量。它实际上是提交费用。实际的页面文件使用量通常会低得多。
  3. 由于页面文件仅用于存储很少使用的数据,因此实际数量对性能影响不大。
  4. 分页并非页面文件所独有。大多数情况下,分页仅占 10% 左右。

解释任务管理器并不像大多数人想象的那么简单。如果你看到某些东西似乎毫无意义,那么你很可能误解了它。

相关内容