
Я используюMX-линуксв течение нескольких дней, и я обнаружил проблемное поведение.Внезапнонесколько процессов былиубит автоматически. Для этого мне пришлось столкнуться со многими проблемами. Есть ли способ остановить это? Я не хочу, чтобы процесс убивался автоматически. Пожалуйста, помогите мне решить эту проблему.
решение1
Есть ли способ это остановить?
К сожалению, нет.
Обоснование таково: как только в системе полностью заканчивается память, она должна зависнуть, поскольку не может выполнить даже самую простую команду — так как для этого потребуется выделение памяти.ООМ-Killer предназначен для предотвращения полной неработоспособности системы путем ее уничтожения (на основе некоторыхэвристики- другие могут сказать наугад) процессов для освобождения памяти. Таким образом, администратор может по крайней мере попытаться вернуть систему в работоспособное состояние, желательно без перезагрузки. Полное отключение этой функции не реализовано (см. такжеэтот ответ на StackOverflow).
Чтобы облегчить проблему, вы можете попробовать
- Используйте
top
или любой аналогичный системный монитор, чтобы выяснить, какая программа начинает потреблять память. Если это та, которую вы написали сами, вы могли создать ошибки в управлении памятью, которые вы можете попытаться отследить с помощью таких инструментов, какvalgrind
. Если это сторонняя программа, вы можете попытаться ограничить ее ресурсы (см. ответы наэтот вопрос, например), чтобы это, по крайней мере, не повлияло на вашу систему в целом. - Попробуйте изменить настройки OOM killer, напримерпереобязывающий, но учтите, что это может иметь побочные эффекты.
- Увеличьте объем подкачки (см. комментарий Ipor Sircer), но учтите, что это сильно замедлит работу системы.
Если ваше оборудование не справляется с поставленной задачей, вам, возможно, придется задуматься об обновлении.