Задать вопрос
@AlexChAR

OOM killer убивает cron. Как быть?

День добрый.
Есть cron который раз в какое-то время запускает задачу.
Иногда эта задача съедает всю оперативку. В ответ на это oom killer убивает cron.. ну и все его дочерние процессы получается.
Может знает кто, как сделать, чтоб убивались только дочерние процессы?

Менять OOMScoreAdjust у крона оказалось идеей хреновой...
  • Вопрос задан
  • 931 просмотр
Подписаться 2 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 3
@Zerg89
Сделать задачу не через cron, а как службу, время запуска запихнуть в сам скрипт, и ей задать параметры oomkiller
пример
[Service]
OOMScoreAdjust=150
Ответ написан
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Запускать через systemd-юнит, и уже этому юниту выставлять OOMScoreAdjust. Крон выкинуть и не вспоминать про него.
Ответ написан
Комментировать
bingo347
@bingo347
Crazy on performance...
У Вас же наверняка современная система в которой есть systemd?
  1. Делаем systemd service unit для запуска нашего скрипта
  2. Ограничиваем сервису память через cgroups чтобы из-за протекающего сервиса не вызывать проблемы в системе в целом
  3. Делаем systemd timer unit, который будет запускать наш сервис и полностью заменит нам cron
  4. systemctl enable --now my-unit.timer
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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