o processo apache2 trava depois de algum tempo

1

Temos um servidor dedicado, com a seguinte configuração: Processador AMD Athlon (tm) 64 X2 Dual Core 5600 + Memória: 4GB SO: Debian 4.0, kernel: 2.6.18-5-amd64 Apache / 2.2.3 PHP / 5.2.0-8 MYSQL: 5.0.32

O servidor funciona sem problemas, quando, de repente, de causas desconhecidas, o processo httpd trava e consome 50% da energia da CPU. A situação apresenta o seguinte gráfico:

link

Não podemos localizar uma causa ou um remédio eficaz situações semelhantes. Talvez alguns de vocês saibam como localizar a causa ou como lidar com suas conseqüências.

    
por user36022 25.02.2010 / 14:48

3 respostas

2

Tente conectar-se aos processos com strace

strace -p $PID_OF_SPINNING_WORKER

Isso deve produzir uma lista de chamadas do sistema que o trabalhador está chamando, possivelmente em um loop, procurando por um arquivo ou outro recurso.

Se isso não produzir nada, então o processo pode estar girando em um loop, você pode usar o gdb para se conectar ao worker e descobrir a área geral de execução

gdb -p $PID_OF_SPINNING_WORKER
(gdb) bt 
    
por 26.02.2010 / 04:50
0

O primeiro lugar para verificar é os logs do sistema. Há algo estranho aparecendo em:

/var/log/apache2/error.log
/var/log/apache2/access.log
/var/log/syslog

Observe que, se você estiver usando hospedagem virtual, os arquivos de log do Apache 2 poderão estar em um local diferente.

    
por 25.02.2010 / 15:04
0

Este servidor está em um ambiente ao vivo? Se não, olhando através dos logs do apache - especialmente os logs de erro, você deve ser capaz de descobrir qual processo está causando isso. Vale a pena perguntar ao apache para registrar os ids do processo nos logs, para que, quando isso acontecer, você possa ver o que o processo estava fazendo.

    
por 25.02.2010 / 16:24