Консультация № 183237
18.05.2011, 23:00
49.72 руб.
0 4 0
Здравствуйте, уважаемые эксперты!
Вопрос такого плана.
Сервер Linux обслуживает много доменов, веб-сервер - Apache.
При переходе на некоторые страницы сайта (пока неизвестные) Apache начинает отнимать 100% процессорного времени и работает до бесконечности (см. прикреплённый скриншот, PID 23425).
Как узнать, что именно делает Apache в данный момент?

Обсуждение

давно
Академик
20764
1861
18.05.2011, 23:19
общий
Узнать можно: например, вызвать core dump и проанализировать этот dump отладчиком, но только этот путь очень длинный.
В качестве первого шага напоминаю, что в apache интерпретатор php встроенный, так что возможно, что "взбесившийся" процесс интерпретирует кривой код страницы-скрипта.
давно
Руководитель
2
547
18.05.2011, 23:47
общий
Адресаты:
А можно ли как-нибудь получить информацию о том, какой именно скрипт обрабатывается?
давно
Академик
20764
1861
18.05.2011, 23:59
общий
Не знаю. Может в в /proc посмотреть, какие файлы открыл процесс (если, конечно он их не успел уже прочитать и закрыть, и если при работе процесса остальная система ещё шевелится)
Это же lsof умеет! На самом деле он содержимое /proc и разбирает
lsof -p 23425
давно
Руководитель
2
547
19.05.2011, 01:00
общий
Адресаты:
Благодарю, Сергей!
Это именно то, что нужно!
Форма ответа