在 Windows 中清空/转储修改后的内存到页面文件

在 Windows 中清空/转储修改后的内存到页面文件

在加载大型文件(例如 2GB 堆栈跟踪)之前,我会使用进程黑客清理几 GB 的内存,这样所有内容就不会因为来回交换而冻结一小时。但是进程黑客每次只能清空大约 200MB。

是否有任何程序或 Windows API 可以让我一次将几 GB 的修改后的内存清空到页面文件?

答案1

Process Hacker 作者提供了源代码,查看源代码可以发现 memlists.c 提供了你想要的内容:

命令 = MemoryFlushModifiedList;
状态 = NtSetSystemInformation( SystemMemoryListInformation, &命令, sizeof(SYSTEM_MEMORY_LIST_COMMAND) );

编写一个运行此命令的简单 C CLI 工具。

答案2

内存地图有一个空的修改页面列表选项。

相关内容