O que o Apache 2 está ocupado fazendo?

3

Estou usando o Apache 2.2.17 no Ubuntu - o Apache parece estar ocupando 100% da CPU. Como posso saber o que o Apache está fazendo para causar um uso tão alto da CPU?

Devo usar algumas ferramentas de rastreamento de pilha? Ou talvez haja alguns plugins do Apache que possam despejar seu estado interno?

    
por Xiè Jìléi 14.06.2011 / 00:50

1 resposta

2

Verifique o log de acesso e os arquivos de log de erros (locais são definidos dentro do arquivo "httpd.conf") para muita atividade (as entradas mais recentes estão no final do arquivo - use "tail -f access.log" para assista ao vivo).

Se não houver atividade aparecendo em seus arquivos de log, provavelmente é algum código que ficou preso em um loop infinito. Reiniciar o Apache HTTPd corrigirá isso temporariamente, mas você definitivamente desejará revisar o código personalizado (você está usando mod_perl2, CGI Perl, PHP ou alguma outra coisa?), Particularmente código que foi modificado / adicionado depois que você acredita que esse sintoma começou a aparecer .

O módulo "server-status" (que deve ser incluído em uma compilação padrão) também pode fornecer algumas informações.

Se a reinicialização resultar em 100% de atividade novamente, você pode ter algum código que está sendo carregado com o Apache HTTPd que está causando o problema, ou um dos módulos.

Você está fazendo algo complicado com a configuração? Você está usando mod_perl2, CGI Perl, PHP ou alguma outra coisa? Qual versão do Apache HTTPd você está usando? Qual sistema operacional você está usando (eu assumi o Unix ou o Linux, já que esses sistemas operacionais são mais adequados para servidores web e são o que a maioria das pessoas parece escolher)?

    
por 14.06.2011 / 01:23