Как заставить Ubuntu уничтожить проблематичный процесс, когда это выходит из RAM?

Так, как большинство других людей, я раньше имел включенную подкачку. Я сначала опишу то, что происходило, когда я сделал.

Я разрабатываю приложение, которое иногда ест всю мою RAM. Затем то, что происходит, - то, что система замораживается почти полностью, который я приписываю тяжелому свопингу. Я в значительной степени не могу вынуть ситуацию если я "холодная" перезагрузка система.

Я попробовал swapoff -a но теперь, по некоторым причинам, система замораживается, когда я добираюсь до 2GB, используемой из 3.

Я был бы точно так же, как Ubuntu для уничтожения проблематичного процесса прямо перед системными замораживаниями, таким образом, это не добирается до замораживания.

То, как это могло определить, который является проблематичным процессом, немного трудно сказать, но я думаю просто, "уничтожают процесс с самым высоким использованием оперативной памяти, исключая системные процессы" было бы хорошее поведение для моего случая.

Какой-либо способ заставить Ubuntu делать то, что я хочу?

Примечание: В этом комментарии говорится, что то, что я хочу, является поведением по умолчанию, когда подкачка выключена, но это не то, что я наблюдаю.

1
задан 13 April 2017 в 16:51

1 ответ

Linux по умолчанию имеет "oomkiller" ("Уничтожитель Из памяти"), который попытается предположить, который процесс имеет большую часть смысла уничтожать и, если необходимо уничтожает его. К сожалению, поскольку Вы уже заявили, что довольно трудно высказать правильное предположение, таким образом, результат может быть несколько случайным, включая замерзание Вашей системы.

oomkiller приблизительно быть под влиянием нескольких средств. Проверьте эта страница еще на некоторые детали о том, как она работает и как влиять на нее.

1
ответ дан 7 December 2019 в 15:37

Другие вопросы по тегам:

Похожие вопросы: