Я бы уменьшил количество пространства подкачки, которое у вас есть. Типичные установки в наши дни пытаются выделить столько свопа, сколько имеется физической памяти (а иногда и вдвое больше). Проблема в том, что когда что-то идет не так, система впадает в смертельную спираль попыток «перетасовать» вещи из памяти на диск и обратно, и она начинает делать так много, что у нее нет времени на ответ для ввода пользователя.
В старые добрые времена все процессы были выгружены на диск (и обратно), поэтому требовались большие перестановки.
В современных системах виртуальной памяти память выгружается блоками (а не целыми процессами), так что вы можете обойтись меньшими перестановками. В вашем сценарии было бы лучше, если бы процессы были убиты, поэтому запуск с меньшим объемом подкачки приведет к тому, что OOM начнет убивать процессы быстрее (вместо того, чтобы система тратила непомерное количество времени на подкачку файлов на диск).
limits.conf