Назад | Перейти на главную страницу

Один из моих процессов apache огромен - как я могу узнать почему?

Я запускаю Apache 2.2.12 с mod_wsgi, на котором размещен сайт Django. Большинство дочерних процессов apache весят около 125 МБ RSS, но иногда я вижу один дочерний всплывающий объект для RSS> 1 ГБ.

На этом этапе обычно есть 1 огромный процесс (> 1 ГБ), пара больших (> 500 МБ), а остальные по-прежнему составляют ~ 125 МБ. Это процессы демона mod_wsgi.

Я пробовал использовать трассировку утечки памяти в Python, чтобы узнать, код ли это Django, и не вижу утечек. Просмотр журналов не показывает особо странных запросов.

Я не понимаю, как понять, что вызывает это - какие-нибудь идеи? Кроме того, есть ли обходные способы убить большой процесс apache, когда он становится слишком большим, без остановки apache?

Еще немного подробностей:

Использовать mod_status с участием ExtendedStatus On и посмотрите, что делает этот конкретный PID.

pmap -x pidofprocess

Вы можете убить ребенка apache, но это не лучшее решение. Вы тоже работаете с mod_php? mpm-prefork?