lighttpd comendo toda a memória e CPU

2

Então meu lighttpd estava funcionando bem por mais de um ano. Dois dias atrás, decidi instalar o Wordpress 3.0.1 (o PHP já estava em uso por outras ferramentas).

Então, depois de algumas horas de pouquíssimos acessos (eu poderia ter 10 visitantes únicos por dia no máximo), o sistema quase trava com uma carga de 25-35, comendo todos CPU e RAM (veja top no final do post).

Eu li sobre problemas semelhantes, mas nenhum parecia ser exatamente o que ocorre aqui. As "soluções" na web eram como instalar um plug-in de cache do Wordpress, o que eu fiz (W3 Total Cache). Como o problema não ocorreu durante a noite, pensei que era o problema. Mas agora a máquina está totalmente sobrecarregada, até o OOM Killer está entrando em ação.

Um reinício do lighttpd ajuda, mas isso não é uma solução real.

Especificações do sistema:

  • Intel Celeron2Duo 2.2GHz
  • 4 GB de RAM
  • Debian Lenny 5.0.6
  • Kernel: 2.6.26-2-amd64
  • lighttpd 1.4.19
  • MySQL 5.0.51a
  • PHP 5.2.6-1 + lenny

Alterar o hardware não é uma opção, já que é um servidor doméstico feito para baixo consumo de energia. Idéias? Agradecemos antecipadamente.

top - 10:34:04 up 19:03,  1 user,  load average: 25.98, 22.97, 12.51
Tasks: 155 total,  15 running, 140 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.5%us, 95.6%sy,  0.0%ni,  0.0%id,  3.6%wa,  0.0%hi,  0.3%si,  0.0%st
Mem:   4062488k total,  4039436k used,    23052k free,      264k buffers
Swap:   979956k total,   979956k used,        0k free,     3012k cached
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                     
 3648 debian-t  20   0  136m 6972  116 R    7  0.2  30:48.27 transmission-da                              
 2569 root      20   0  196m  900  108 S    5  0.0   4:51.94 rsyslogd                                     
  316 munin     20   0 30592  548  136 D    4  0.0   0:04.68 sendmail                                     
 3377 root      20   0 66292 6864  208 D    4  0.2   2:01.44 python                                       
 3188 www-data  20   0 4074m 3.1g  124 R    4 81.2  12:20.23 lighttpd

Editar : Eu instalei um script de reinicialização temporário como sugerido pelo LatinSuD. Então, provavelmente amanhã eu possa contar detalhes sobre o intervalo desse problema.

    
por weeheavy 14.10.2010 / 10:52

2 respostas

1

Você pode atualizar para uma versão mais nova do lighttpd? 1.4.19 é muito antigo (o mais novo 1.4 é 1.4.28). Eu sei que houve um número de vazamentos de memória fixados nesse intervalo.

link

Como você tem o php instalado? Se você está usando o fastcgi, você tem muitos processos de trabalho iniciando? Certifique-se de não ter feito algo problemático com o mod_rewrite que está causando um loop infinito. Normalmente lighttpd detecta esses, mas Bug 1775 foi corrigido em 1.4.20, e pode ser o seu problema.

    
por 19.10.2010 / 18:28
0

Estou usando o lighttpd em um TonidoPlug, por isso é vital para mim assistir ao consumo de memória. Para esse fim, eu cron'd o script a seguir para executar a cada 30 minutos. Há provavelmente uma maneira melhor de fazer isso, mas funciona para mim: -)

echo 'date +'%Y%m%d %H%M'','free | grep "Mem" | sed -e 's/ \{1,\}/,/g' | sed -e 's/^Mem:.//g'' | cut -d',' -f1,3,4,6,7 >> memorywatch.dat

Os cabeçalhos das colunas são: "datetime, usados, livres, buffers, armazenados em cache" e os registros de saída são assim: 20110613 1002,184716,329092,30548,129496

Você pode importar o arquivo para o Excel / OpenOffice em intervalos regulares para produzir gráficos.

No meu caso, eu corro um " sync & & echo 3 > / proc / sys / vm / drop_caches " regularmente - daí o gráfico de estilo "heartbeat" acima. É um trabalho em progresso e estou fazendo mais ajustes.

    
por 16.06.2011 / 17:27