如何在 Linux 中将文件支持的可执行页面从 RAM 中逐出?

如何在 Linux 中将文件支持的可执行页面从 RAM 中逐出?

我尝试使用madvise(MADV_DONTNEED)并验证/proc/pid/pagemap页面是否正确未映射。尽管页面中的任何功能都没有被访问,但某些页面很快就被映射回来了。据我了解,有两个列表 - 活动列表和非活动列表。madvise(MADV_DONTNEED)将导致页面从两个列表中删除。如果这是正确的,除了 CPU 访问页面中的地址之外,是否还有其他因素可以导致页面被加载回来?参考代码将会非常有帮助。我的目标是保持页面被驱逐并且不加载回来。提前致谢。

相关内容