LINUX.ORG.RU

программа прибивающая висячие процессы


1

2

привет.

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

вопрос в том, существует ли какая-то программа, которая по некоторым критериям(время_работы/используемая_память/загрузка_проца), прибивает процессы?

благодарен.

★★★

Последнее исправление: niXman (всего исправлений: 2)

Напиши скрипт и поставь его в cron. Комплексное решение ты вряд ли найдёшь, т.к. никакой процесс не может определить критерии завершения программы.

Ещё можно настроить limit'ы на время работы программы, использования cpu, памяти. При превышении порога, ядро убьёт процесс.

hope13 ★★★
()
Последнее исправление: hope13 (всего исправлений: 1)
Ответ на: комментарий от hope13

никакой процесс не может определить критерии завершения программы.

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

niXman ★★★
() автор топика

вопрос в том, существует ли какая-то программа, которая по некоторым критериям(время_работы/используемая_память/загрузка_проца), прибивает процессы?

Да!. Конечно! Называется bash+ps+kill+${прямые руки}

Tanger ★★★★★
()
Ответ на: комментарий от niXman

Да monit, прочитал man. Вроде правда умеет собирать статистику и завершать процесс.

Пример:

check process XXXX with pidfile /var/run/XXXX.pid
  start program = "/etc/init.d/XXXX start" with timeout 30 seconds
  stop program  = "/etc/init.d/XXXX stop"
  if cpu > 50% for 10 cycles then alert
  if cpu > 65% for 15 cycles then restart
  if totalmem > 9000 MB for 10 cycles then restart
  if loadavg(15min) greater than 10 for 15 cycles then stop

Но можно просто написать скрипт :)

hope13 ★★★
()
Последнее исправление: hope13 (всего исправлений: 1)
Ответ на: комментарий от leave

да, похоже то что надо. читаю..

niXman ★★★
() автор топика

В KDE3 такая пижня была по-моему в качестве виджета кикера. Как она работала - не представляю.

takino ★★★★★
()

который плодит кучу процессов решающих задачи пользователей

Код этих процессов доступен? Можно наложить патч, чтобы эти процессы оставляли какой-нибудь пинг в файлах о том, что они живы. Нет пинга в течение какого-то времени - убить.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.