видит, что процесс исчерпал почти всю память и убивает его. Может быть кто вкурсе как настроить свап или еще что-то что бы исчерпание RAM не происходило?
Свап это очень больно по производительности если у вас не стоят какие нибудь дорогие ssd Не проще ограничить количество данных, которые в один момент обрабатывает один экземпляр сервиса?
нужен кластер на несколько машин, что бы 1 инстанс не кушал всю память залезая в своп
Звучит как задача на алгоритмы во внешней памяти. Скидывание запроса на диск и обработка по кусочкам.
Ограничить количество данных не можем, т.к. данные тянуться пачкой из другого внешнего сервиса, мы можем конечно добавить RAM, нам в пике не хватает примерно 1Гб. В сервис тоже лезть не хотим, если при свапе производительность в пике просядет, то не страшно. Хотелось бы попробовать решить настройками ОС, если задача не тривиальная, то добавим RAM
вполне тривиальная. 100500 статей есть как настроить своп
В юнит можно добавить правило https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html#OOMScoreAdjust=
Да, спасибо. Но отключение oom killer, в моем случае создаст больше проблем чем выгоды: эффект временный, а риск большой, если какой-то параллельно запущенный сервис вдруг захочет тоже скушать память
Обсуждают сегодня