![每个进程都有一个私有交换文件](https://linux22.com/image/109088/%E6%AF%8F%E4%B8%AA%E8%BF%9B%E7%A8%8B%E9%83%BD%E6%9C%89%E4%B8%80%E4%B8%AA%E7%A7%81%E6%9C%89%E4%BA%A4%E6%8D%A2%E6%96%87%E4%BB%B6.png)
有没有办法将交换空间或交换文件分配给一个进程或一组进程,而其他进程仍然使用正常的交换机制?
这是一些背景信息。我有一个使用大量内存(大于物理内存)的进程,我想将仅由该进程拥有的交换页面定向到我在 SSD 上创建的交换文件。
我正在使用Linux。如果这有助于解决问题,我愿意使用容器。
答案1
从 3.14(大约 2014 年中)开始,linux 内核支持每个 cgroup 交换文件。
此支持可通过内核配置旋钮获得CONFIG_MEMCG_SWAP
。 (依赖于取决于CONFIG_MEMCG
)
通往私人的交换文件通过写入控制器来设置memory.swapfile
。