在 Linux 中,如何将释放的内存页面归零以减小 VM 快照的大小?
非归零内存存储在快照中,即使该内存已被释放且不再使用。例如,从文件系统缓存中释放的内存页面
sync && echo 3 > /proc/sys/vm/drop_caches
不必要地存储在快照中,因为它们尚未归零。
更新一个似乎可行的非常可怕的解决方案是循环使用 malloc+memset 内存,直到 OOM 杀手启动。这将我测试的一个 VM 快照的大小从大约 800MB 减少到大约 400MB。有更好的解决方案吗?