Explosão repentina na memória livre

1

Estou experimentando um estranho comportamento de gerenciamento de memória no Squeeze com o Kernel 2.6. Estou tentando chegar ao fundo disso com nmon.

Às vezes, isso congelará o sistema por 30 segundos a 5 minutos.

O servidor tem 4 GB de RAM.

As figuras da nmon são:

  • + 1,6 GB de memfree.
  • em cache caiu em ~ 350MB
  • swapcached caiu por ~ 80MB
  • swap livre pulou por ~ 200M
  • memória ativa caiu em ~ 1,3 GB

Quando isso acontece, o servidor não está perto de nenhum limite. Logo depois que isso acontece, a memória ativa se arrasta de volta, junto com cache ... e naturalmente memfree gotas.

Isso não parece ser um processo descontrolado. O sistema operacional parece realocar um grupo de ram muito de repente, então ele lentamente realoca de volta. Swappiness não deve ser um fator porque a troca é quase nunca tocada.

Existe alguma maneira de acompanhar o que está acontecendo? Por que essa memória livre aparece de repente em segundos, apenas para ser devolvida ao cache em 30 minutos?

    
por mgjk 19.06.2012 / 21:38

2 respostas

0

Acontece que era um DoS. Alguns processos de 60 php5-cgi aparecem e morrem dentro de um período de 30 segundos, sugando 1.6GB de RAM e são mortos.

Ele não apareceu nos meus registros porque não era um processo único sugando os 1.6GB, eram 60 processos diferentes. E o assassino não matá-lo, algo no Apache está matando-o.

Eu finalmente encontrei quando ajustei meu log de processo para obter a amplitude de processos e escrevi alguns scripts awk para adicionar memória. Parece óbvio agora.

    
por 27.06.2012 / 02:39
1

O que o syslog diz? Existe alguma dica de que o kernel está eliminando processos por causa da OOM?

Qual é o tamanho do swap? Você ajustou algum kernel no namespace vm. ?

Quanto custa "um monte"?

O que acontece nesses 30 minutos? Como é o vmstat -SM 3 ?

Talvez o mais importante: quais aplicativos você está executando, (como) eles são afetados por isso?

    
por 19.06.2012 / 22:42