Windows 10 中的内存使用量不累计

Windows 10 中的内存使用量不累计

每隔几天,我的 PC 的内存使用量就会无缘无故地增加。以下是 4 天正常运行后的典型内存使用量读数:

内存使用率 74%

不过,我尝试追踪导致任何潜在内存泄漏的违规应用程序。任务管理器列出了 Google Chrome 中占用率最高的应用程序(占用率仅为 ~200MB):

任务管理器进程

关闭其他应用程序后仍有 62% 的内存在使用:

关闭应用程序后内存占用率为 62%

同时,poolmon.exe节目CM16Proc标签分别使用分页池和非分页池中的大量内存列出:

poolmon 使用情况显示

奇怪的是,重启电脑可以清除内存使用量,但关机再开机却不行。我猜这是因为“快速启动”功能,但我不确定它为什么会影响内存使用量。

如果重要的话,我也在使用清理内存因为我认为它有助于缓解任何内存泄漏问题。

鉴于这些,我如何才能查明导致系统内存使用率过高的原因?

更新:我尝试运行 xperf 来查看池标签上的堆栈跟踪,正如评论中所建议的那样,但我不确定如何理解我发现的内容:

CM31 和 Proc 标签的 xperf/WPA 屏幕截图

更新这是上面截图的 ETL 文件

答案1

来自 CleanMem 关于页面:

“内存被推送到系统缓存,而不是页面文件。系统缓存仍在内存中。程序可以立即调用它所需的内容”

也就是说,运行“CleanMem”只是将内存隐藏在系统缓存中,因此您看不到它被使用。

一般来说,Windows 中的任何类型的“内存管理”工具都是坏主意。

为什么?因为特别是在像 Windows 10 这样复杂的操作系统中,使用一些“调整”来尝试获取更多内存可能只会让现有的内存管理算法变得混乱。Windows 具有极其先进的内置内存管理、压缩、缓存和预测。不要乱动它。需要释放内存?使用 Firefox 而不是 Chrome。

另外,请查看 SysInternalsSuite 工具 procexp.exe。它比 xperf 更容易阅读:

系统内部套件Procmon.exe

如果您安装了 Hyper-V 并在其中运行任何虚拟机,您可能看不到使用内存的另一个进程。

相关内容