是否存在可以释放modified memory
属于给定应用程序的 Windows 应用程序或脚本。
我努力了刷新文件缓存它就像一把大锤子,可以清除所有东西modified memory
,但我需要一个应用程序或脚本来清除分配给特定应用程序而不是整个系统的内存。
系统规格
Windows 7 64 位
8 GB RAM
12873 MB 页面文件
SuperFetch 已关闭
背景介绍
我已经创建了一个节点 Webkit应用程序处理大量图像,在内存中创建图像然后丢弃它。最初的实现存在内存泄漏,我可以看到提交大小不断膨胀,直到 Windows 开始发出内存不足警告。
经过多次重写后,应用程序的提交大小保持在一个良好的平均值附近,并且从未真正增加,但相反的是,增长modified memory
稳定(但比以前慢得多)。发生这种情况是因为应用程序为图像分配了内存,现在正确地释放了它们。一旦应用程序停止处理图像但仍在运行,就会modified memory
慢慢恢复正常,而无需任何干预。如果我运行刷新文件缓存使用该all
选项可以清除大量没用过内存而不会影响我的应用程序(尽管整个系统如预期的那样暂时变慢了)。
更新
添加了一些截图来展示当 4 个同时运行时会发生什么情况,当内存free memory
极低并且standby memory
接近 1GB 左右时就会出现这种情况。(抱歉,由于我在这个子版块的声誉,暂时不能发布图片)
答案1
“内存不足”警告是由于超出提交限制而导致的。Windows 没有物理内存 (RAM) 不足的错误消息。
要增加提交限制,请添加 RAM 或增加页面文件大小。
“可用”页面“严重不足”并不重要。“待机”是“可用”的一部分;它与“可用”一样“可用”。如果待机列表中有 1 GB,则您有足够的可用 RAM。