Как настроить cgroup v2, чтобы ограничить только оперативную память и разрешить неограниченный обмен?
Поскольку Ubuntu 21.10 поставляется с Cgroup V2, а моему проекту нужны ограничения памяти, я решил использовать его, но у меня есть некоторые проблемы. Мне нужно много оперативной памяти, чтобы проверить идею, поэтому, поскольку мой процессор не может принять более 128 ГБ оперативной памяти, я решил получить немного оперативной памяти с другого сервера в качестве SWAP.
Поэтому я смонтировал раздел из 512 ГБ ОЗУ на втором сервере и использовал NFS-сервер, чтобы мой первый сервер мог получить к нему доступ в качестве клиента. Между этими двумя серверами установлено соединение со скоростью 40 Гбит/с, поэтому мне достаточно скорости для проведения теста. На первом сервере я смонтировал раздел NFS со второго сервера и создал на нем файл подкачки, и я был готов к работе с 128 ГБ оперативной памяти и 512 ГБ подкачки.
После того, как я начал тест и преодолел 128 ГБ оперативной памяти, мой сервер завис, потому что запущенным утилитам негде работать в оперативной памяти, и я решил ограничить использование памяти с помощью cgroup.
Проблема: когда я устанавливаю лимит MemoryHigh, он работает хорошо, после лимита идет и заполняет своп, но останавливается на том же лимите, что и RAM. Каким-то образом cgroup ограничивает использование SWAP точно такой же емкостью, что и оперативная память. Итак, если я установлю MemoryHigh=110G, я могу получить 110G на оперативной памяти и 110G на свопе, кто-нибудь знает, как настроить cgroup, чтобы сделать своп неограниченным?
изображение описания краски