Debian 9.4, Linux 4.9
Я иногда компилирую что-то, что едва умещается в ОЗУ, или процесс румян внезапно начинает поглощать память сверх того, что доступно. Когда процесс проходит через доступную оперативную память, Linux начинает перебивать диск, даже если у меня включен нулевой своп (никакой своп не был попыткой избежать этого). Я предполагаю, что он начинает отбрасывать и перезагружать такие вещи, как части mmap
ped исполняемых файлов в данный момент?
На этом этапе мой сеанс X быстро перестает отвечать, и все, что я могу сделать, это подождать десятки минут, пока весь сеанс X не будет уничтожен, и я смогу снова войти в систему.
Я пытался найти решения, но ничего не помогло. Убийца OOM не улавливает этот процесс, и с vm.overcommit_memory=2
я даже не могу войти в систему с помощью GDM и Gnome.
Есть ли способ сказать Linux не менять местами вообще? Таким образом, я бы по крайней мере получил шанс, что процесс румян будет убит неудачным malloc
, и даже если нет, по крайней мере, мне не пришлось бы ждать, глядя на неотзывчивую машину.
Или какие-то другие советы, как управлять этим сценарием?