Я пытался выполнить mpiexec -16 ...
на сервере ОЗУ 384 ГБ, но это вызвало OOM Killer и было прервано.
Как установить ограничение памяти для выполнения mpiexec
?
Я знаю ulimit
, но это может повлиять на другие процессы.
Спасибо.
Я думаю, что это может быть сделано с помощью cgroups
:
Создают cgroup, названный mpigroup
(или безотносительно имени, которое Вы выбираете) с пределом памяти (50 ГБ, например):
cgcreate -g memory,cpu:mpigroup
cgset -r memory.limit_in_bytes=$((50*1024*1024*1024)) mpigroup
Затем если mpiexec уже работает, принесите его в этот cgroup:
cgclassify -g memory,cpu:mpigroup $(pidof mpiexec)
Или выполняются mpiexec
в этом cgroup:
cgexec -g memory,cpu:mpigroup mpiexec -16 ...