Чем занят Apache 2?
Я использую Apache 2.2.17 в Ubuntu - Apache, кажется, занимает 100% процессорного времени. Как я могу узнать, что Apache занят, чтобы вызвать такое высокое использование процессора?
Должен ли я использовать некоторые инструменты трассировки стека? Или, может быть, есть некоторые плагины Apache, которые могут сбросить его внутреннее состояние?
1 ответ
Проверьте журнал доступа и файлы журнала ошибок (местоположения определены в вашем файле "httpd.conf") для большой активности (самые новые записи находятся в конце файла - используйте "tail -f access.log", чтобы посмотреть его вживую).).
Если в ваших файлах журналов нет активности, то, вероятно, какой-то код застрял в бесконечном цикле. Перезапуск Apache HTTPd исправит это временно, но вы определенно захотите просмотреть пользовательский код (используете ли вы mod_perl2, CGI Perl, PHP или что-то еще?), Особенно код, который был изменен / добавлен после того, как вы считаете, что этот симптом начал появляться,
Модуль "server-status" (который должен быть включен в сборку по умолчанию) также может предоставить некоторую информацию.
Если перезапуск снова приводит к 100% активности, возможно, у вас есть код, который загружается с Apache HTTPd, который вызывает проблему, или один из модулей.
Вы делаете что-нибудь сложное с конфигурацией? Вы используете mod_perl2, CGI Perl, PHP или что-то еще? Какую версию Apache HTTPd вы используете? На какой операционной системе вы ее используете (я предположил Unix или Linux, так как эти операционные системы лучше подходят для веб-серверов и, как кажется, выбирают большинство людей)?