Есть ли какой-нибудь способ предотвратить что-либо в Linux от замены чего-либо, кроме как обратиться к убийце OOM, если у него не хватает физической памяти?
Фон
У меня есть рабочая станция Linux, которая время от времени исчерпывает ОЗУ. Когда это происходит, оно становится невосстановимым. (Это верно независимо от того, включен ли обмен или нет, я видел, что это происходит в обоих направлениях.)
В этом случае я хочу, чтобы OOM killer начал убивать процессы и продолжал делать это до тех пор, пока система не восстановится или не выйдет из строя (или что-то среднее между ними предпочтительнее неопределенного зависания). Интересно, что даже при отключенном свопе этого не происходит, а система дает указания, что это своп (все работает, просто на несколько медленнее).
Моя текущая теория заключается в том, что Linux по-прежнему обменивается данными, которые, по его мнению, поддерживаются диском, например, страницы только для чтения из исполняемых файлов и файлов mmap.
Примечание: я уже потратил некоторые усилия и исчерпал множество методов для ограничения использования памяти. Я не могу сделать много, если больше этого не мешая нормальной работе. Я действительно ищу решение "убей их всех и позволь пользователю разобраться".