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