LINUX.ORG.RU
ФорумAdmin

/proc/self/exe

 


0

1

Доброго времени суток! Процесс «/usr/sbin/apache2» вызывает дочерний процесс «maxima» - это математический пакет, web прилажуха делает подсчеты на нем. Процесс «maxima» периодически порождает дочерний процесс «/proc/self/exe». (https://cloud.mail.ru/public/9t17/1wrhKHvcq) Все бы нечего, если бы не зависания этого процесса (/proc/self/exe), то есть родительские процессы завершились, а «/proc/self/exe» весит пока его не грохнуть, при этом он может сжирать 1-4ГБ RAM или занимать чем-то одно ядро под 100%. (https://cloud.mail.ru/public/8PEp/33dhEd6Pf)

Вопрос, можно ли как то отслеживать таких «потеряшек» у которых родитель давно сдох, а сам «/proc/self/exe» уже как зомби и убивать? Или следить за всеми «/proc/self/exe» которые живут больше 5 минут? OS: Ubuntu 16.04


правильное решение: «чинить» этот «дочерний процесс дочернего процесса», чтобы он всё-таки завершался сам...

А так да, отлавливаешь «зомби» и грохаешь...

Пример (должно «отлавливать», но проверить не могу — «зомби» сейчас нет в системе...)

ps -eo pid,stat|grep Z

это первый шаг, дальше по этим PID делаешь kill...

anymouze ★★
()

IIRC зомби память не жрут. Это тушки proc структуры, спросить о состоянии которых никто не озаботился (wait4 и товарищи).

То, что у тебя — это R (running) процесс, про который, похоже что забыли. Т.е. ему есть ещё, что сказать, но его уже никто не слушает и не прибивает.

Вероятная причина: оборванне веб-сессии. Т.е. оно что-то расчитало, но сообщить об этом уже никому не может.

Решается не брут-форсом (килл по крону и подобному), а переосмыслением процесса взаимодействия.

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

Зомби убить нельзя (потерян контролирующий терминал), но и память они не занимают.

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

Оговорился, у них статус «D» и они живут пока не кильнешь, один процесс жил больше суток, специально записал себе его PID и оставлял в живых...

MaZaI
() автор топика
Ответ на: комментарий от anonymous

нет, я их никогда не пытался kill, мне обычно вполне «живые» процессы убирать приходилось (пытались «захватить» всю память). если другого средства нет кроме kill — что-то «не то» с системой, программой...

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