Como rastrear picos de memória?

8

Eu tenho um aplicativo em execução na nuvem do rackspace (ubuntu 10.04). Por alguma razão, nas últimas 3 noites, a memória aumentou e se estabilizou por cerca de 7 horas antes de eventualmente cair. Parece começar à meia-noite e durar até as 7 horas da manhã (ignore os horários no gráfico - eles ficam fora por 4 horas).

texto alternativo

Olhando através do gráfico Munin , não parece haver atividade aumentada no mysql, e o tráfego ethernet não parece estar aumentando durante esse período (o que parece negar algo como um bot ou rastreador).

Quais ferramentas estão disponíveis para o linux para solucionar problemas como este?

jerhinesmith
fonte

Respostas:

3

Não tenho certeza absoluta de que será um ajuste perfeito, mas o pacote de contabilidade de processos (na maioria chamado psacct ou acct) é capaz de manter um registro de quem (qual conta) executa o que (qual programa). Isso pode ajudá-lo a descobrir o que está sendo executado no momento especificado.

wzzrd
fonte
Isso pode realmente ser uma boa ideia. O psacct geralmente é usado para gravar, relatar ou até limitar via cota de uso da CPU ou ticks de clock. Era a maneira antiga de garantir que o cliente / usuário do servidor UNIX estivesse pagando o uso que fazia. Uma observação sobre isso, no entanto, o psacct ativado para pelo menos registrar tudo é um enorme problema no uso do espaço em disco.
reiche 14/08/10
1

Em geral, não sei qual ferramenta pode ajudá-lo, exceto o registro psregular e a análise posterior das atividades dos processos.

No entanto, posso adivinhar os picos por volta das 06:00 no gráfico, podem ser os trabalhos cron diários padrão do Ubuntu. Na minha máquina /etc/crontab, daily.destá configurado para ser executado às 6h25. Mas você disse que devemos ignorar o tempo, então a pergunta óbvia é: você tem trabalhos cron?

elmarco
fonte
Esse foi meu primeiro pensamento também. No entanto, meus trabalhos diários de cron são executados às 13:00, horário local. Existem alguns trabalhos sendo executados pelo aplicativo, mas eles começam às 18:00 ou às 02:00.
jerhinesmith
2
Se você estiver seguindo o pscaminho normal , o "HOWTO: Memória de perfil em um sistema Linux" entra em um pouco mais de detalhes: mail.nl.linux.org/linux-mm/2003-03/msg00077.html
Geoff Childs
1

Minha resposta padrão para essas perguntas seria sar( System Activity Reporter ) do pacote sysstat .

Mas, tanto quanto eu sei, sarnão coleta um equivalente à saída de ps. Portanto, talvez a combinação de sare elmarcos responda (capture regularmente a saída de ps) ajudaria.

EDITAR:

Steve D mencionou pidstatem esta questão . Isso parece mais adequado às suas necessidades.

cristão
fonte
adicionou outro comando que foi mencionado em outra pergunta.
Christian