Страницы

Поиск по вопросам

среда, 4 декабря 2019 г.

Как автоматически отслеживать и прибивать зависшие процессы в Linux?

#linux #процесс


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


Ответы

Ответ 1



ulimit -v - (см. help ulimit). Можно ограничить максимальный размер виртуальной памяти процесса (в килобайтах) -- распространяется на потомков, но по каждому считается отдельно. Так же можно ограничить суммарный размер записываемых файлов, процессорное время, количество нитей. Если программа слишком нагружает процессор, можно понизить её приоритетность (увеличив номер уровня приоритета) командами nice или renice. То же самое, но в конкуренции за доступ к диску меняет ionice (но тут немного сложнее и работает не всегда). Если программа без особой причины постоянно нагружает процессор, можно ограничить процент использования процессора с помощью cpulimit. Эта утилита так же может завершать наблюдаемый процесс вместо притормаживания.

Ответ 2



ПОпробуйте monit https://mmonit.com/monit/ посмотрите https://mmonit.com/wiki/Monit/ConfigurationExamples#apcupsd как пример

Комментариев нет:

Отправить комментарий