如何配置 cgroup v2 以仅限制 RAM 内存并让交换不受限制?

如何配置 cgroup v2 以仅限制 RAM 内存并让交换不受限制?

由于 Ubuntu 21.10 附带 Cgroup V2 并且我的项目似乎需要内存限制,所以我决定使用它,但遇到了一些问题。我需要大量 RAM 来测试一个想法,由于我的处理器不能接受超过 128G 的 RAM,我决定从另一台服务器获取一些 RAM 作为 SWAP。
因此,我在第二台服务器上从 512G RAM 安装了一个分区,并使用 NFS 服务器让我的第一台服务器作为客户端访问它。这两台服务器之间有 40Gbps 的连接,因此速度足以让我进行测试。在第一台服务器上,我安装了第二台服务器上的 NFS 分区并在其上创建了一个交换文件,然后我准备使用 128G RAM 和 512G 交换。
在我开始测试并超过 128G RAM 后,我的服务器冻结了,因为正在运行的实用程序在 RAM 中没有工作空间,我决定使用 cgroup 限制内存的使用。

问题:当我设置 MemoryHigh 限制时,它工作正常,超过限制后,它会填充交换空间,但会停止在与 RAM 相同的限制上。cgroup 以某种方式将 SWAP 的使用限制在与 RAM 内存完全相同的容量上。因此,如果我设置 MemoryHigh=110G,我可以在 RAM 上使用 110G,在交换空间上使用 110G,有人知道如何配置 cgroup 以让交换空间不受限制吗?
油漆描述图像

相关内容