Как сделать screen сессию более приоритетной linux
ОС запускает какой то процесс, и ОЗУ ей не хватает, и она берёт и убивает все мои screen сессии. Как повысить им приоритет, или чтобы их не убивало
Ответы (2 шт):
Повысить приоритет потребления ОЗУ нельзя, я такого способа не знаю.
Запущенные программы в ходе своей работы просят систему выделять им ОЗУ. Они могут запрашивать сколько ОЗУ, сколько сами захотят.
Если программа попросила выделить ОЗУ, а запрашиваемого количества ОЗУ просто нет, тогда программе сообщается ошибка, что аллоцировать такой объем памяти не удалось. Большинство программ такую ошибку никак не обрабатывают, они сразу падают, как случилось в вашем случае.
Если ОЗУ практически не осталось, тогда упадет та программа, которая первой запросит аллокацию памяти. Иногда несколько программ запрашивают память почти одновременно и все успевают упасть. Приоритизировать такие запросы вряд ли возможно, поскольку запросы на аллокацию делают сами программы.
Обычно такие проблемы решают путем установки лимита по ОЗУ для всех программ, которые любят забирать всю память для себя. Сумма всех лимитов не должна превышать физический объем ОЗУ + какой-то запас надо оставить для системы. Если будут лимиты, тогда вы изолируете программы друг от друга, и программа не сможет положить остальные программы, а только саму себя.
Но вы сами не знаете, что у вас потребляет память:
ОС запускает какой то процесс
Для начала выясните, что это за процесс. И поставьте ему лимит по ОЗУ.
Решил проблему, добавив swap файл в который теперь выгружаются фоновые процессы.