如何查找我的页面文件的内容

如何查找我的页面文件的内容

背景:我的电脑运行 Windows 10,是作为游戏电脑购买的。 好的 GPU、好的 CPU、16 GB 的 RAM 等。 有两个硬盘,一个非常小的(100 GB)SSD 用于操作系统,还有一个 3TB 的 HDD。

在过去的几个月里,我开始遇到 RAM 问题。应用程序在收到高内存使用警告后不久就会崩溃。我怀疑我的一个内存条坏了、损坏了或类似问题,因为当任务管理器显示我使用了大约 7.9 Gb / 16 Gb 时,我收到了这些警告。我使用了我能找到的所有测试和诊断程序,但 RAM 没有显示出任何问题的迹象。然而,大约使用一半时,事情就开始崩溃了。

最近几天情况更糟了。我玩星际争霸 II 时甚至无法打开 discord,否则其中一个会毫无预警地崩溃。

我最终注意到的是已承诺的内存使用量。它徘徊在 64Gb / 64.9Gb 左右。我完全不知道这是什么,但我觉得很可疑,因为这个数字太高了。

我已开始使用 RamMap 监控此图表。毫无疑问,有好几次,当达到峰值 (100%) 时,某些东西就崩溃了,崩溃后,内存下降了 1Gb 左右。

但重启电脑并没有什么不同。启动时,我拥有大约 61Gb / 64.9Gb 的已提交内存,即使正常内存使用量低至 2Gb / 16Gb。查看任务管理器详细信息中有关已提交内存的额外列并没有什么不同,似乎没有进程实际使用了所有已提交的内存。

经过多次尝试和错误,我发现解决崩溃问题的方法是告诉我的系统根本不使用页面文件并重新启动,这似乎已经清除了所有东西。在此之前,它被设置为“由系统自动管理”。现在已提交的内存量与 RAM 实际使用的量大致相同。

但如果我重新打开页面文件,它又会缓慢但稳步地增长。似乎在短短几天内它已经增长了约 5Gb。

所以我的问题是:有没有办法记录哪个进程正在提交内存然后不释放它,或者有没有办法从已经填满的页面文件中知道哪个进程链接到了多大的页面文件?

在完全删除 (巨大的) pagefile.sys 文件之前,我有一个备份。理想的解决方案是能够分析该备份文件,而不是例如使用实时监控软件,让它运行几天、几周甚至几个月,直到恢复到那个疯狂的 (60+ Gb) 使用量。

现在,我唯一的解决方案是让它保持停用状态。这真的感觉像是一种有风险的解决方法,而不是真正的解决方案。我的计算机中仍有某个进程或服务试图占用页面文件,而我只是拒绝为其提供提交空间,而不是找到它并修复它。此外,由于可能有一个匿名进程包含内存泄漏,我失去了整个页面文件功能。

另一个奇怪的事情:网上每个人都说要使用 Windows 驱动程序工具包中提供的 poolmon.exe。对我来说不起作用。安装 WDK 没什么区别,我无法更改安装位置,默认位置 (C:\Program Files (x86)\Windows Kits\10\Tools) 不存在(“C:\Program Files (x86)\Windows Kits\10\” 内没有“Tools”目录。poolmon 无处可寻,即使它应该可以独立运行,但由于某种原因,我无法在任何地方直接找到 .exe 的下载。尝试几次后,WDK 安装程序甚至无法启动,只是在屏幕中间闪烁一个带有工具箱图标的蓝色方形窗口,然后在一秒钟内消失并且什么也不做。

答案1

页面文件可能会变得很大。 5GB 的页面文件很正常。 但是 64GB 就不正常了。

页面文件可能会损坏,禁用然后重新启用是解决该问题的方法之一。您这样做了,现在您描述的情况似乎是正常行为。因此,我建议保持页面文件处于打开状态,看看问题是否会再次出现。

如果是,请尝试将它们设置为其他驱动器。如果这样可以解决问题,则您的硬盘可能有问题,可能需要更换。

相关内容