Picos de memória estranhos no Debian VPS

1

Eu corro um VPS médio (4GB de RAM) como um servidor web. Eu hospedo alguns sites privados do Ruby on Rails com Apache e mod_passenger. Eu também tenho dois aplicativos legados que funcionam com "passageiro autônomo" (dois servidores Nginx com passageiros nas portas 3000 e 4000). O Apache age como um proxy para aqueles.

Na maioria das vezes isso funciona bem, mas a cada poucos meses todo o sistema fica furioso:

  • o uso de RAM aumenta para 100%
  • os arquivos de log são preenchidos com "Não é possível alocar memória" & erros de proxy reverso
  • em breve, o sistema inteiro não responde

Às vezes isso se esclarece sozinho, às vezes eu tenho que pedir ao meu provedor para reiniciar o sistema, porque eu não posso nem mesmo conectar o SSH nele.

Isso sempre acontece à noite, quando o tráfego é muito baixo. Aqui estão dois gráficos:

O Apache acessa

Consumodememória

Como faço para chegar ao final disso? Quais etapas posso tomar para depurar essa situação? É possível que eu tenha um vizinho ruim na máquina?

Outros processos na máquina principal: MySQL, PostgreSQL, Elasticsearch, Redis

ATUALIZAÇÃO para esclarecer

Estou procurando uma ferramenta que registre os processos com a memória & consumo de CPU para que eu possa rastrear o (s) problema (s). Tem algo assim por aí ou tenho que rolar sozinho?

    
por Wukerplank 02.01.2014 / 08:58

1 resposta

1

A partir da minha experiência pessoal de gerenciamento de aplicativos RoR, vazamentos de memória podem se infiltrar facilmente e capturá-lo no momento mais inesperado. Eu recomendaria fazer duas coisas para pegar o culpado:

  1. Use sar para registrar as atividades do sistema.
  2. Como a memória é um destino específico, use free | grep "Mem:" | awk '{print $4}' e envie um e-mail para você mesmo usando mailx se o limite exceder um certo limite de sua escolha.

Geralmente há uma consulta sql ruim ou uma gem rouge que causa isso. Se alguma coisa mudou recentemente em relação a estes, então você pode querer investigar isso também.

    
por 03.01.2014 / 09:07