Como sei o que um processo apache está fazendo?

11

Às vezes, o apache fica louco e consome toda a minha memória e troca, mas não sei como descobrir qual aplicativo da web está causando isso.

ps me fornece essa saída para o processo; "Sono ininterrupto (geralmente E / S)"

www-data  1526  0.1 78.9 14928852 3191628 ?    D    Oct17   6:45 /usr/sbin/apache2 -k start

Eu suspeito que Ruby + Redmine, mas quero ter certeza

Joernsn
fonte

Respostas:

11

Verifique se você mod_status.socarregou nos módulos do apache e procure / adicione o item acima em seu httpd.conf:

# Uncomment the following lines to enable mod_status support:
#
ExtendedStatus On

<Location /server-status>
SetHandler server-status

Order Deny,Allow
Deny from all
Allow from YOUR_IP_HERE
</Location>

Isso permitirá que você veja todas as páginas que estão sendo usadas carregam domínio no servidor http.

Para acessá-lo, use http: // your_ip / server-status e somente o ip definido em Allow from YOUR_IP_HEREpoderá visualizá-lo.

Prémio
fonte
1
Também sugiro usar Allow from localhost, para mais tarde, é possível verificar essas informações lynx http://localhost/server-statusno console.
Andron
No Apache 2.4, é necessário que tudo seja concedido em vez de ordem ...
Aleksandar Pavić
5

Um lsof -p mostrará qual arquivo manipulador está aguardando. Strace -p e ltrace -p também podem ser úteis para tentar depurá-lo.

Vegar Westerlund
fonte
Ambas as respostas muito boas :)
Joernsn