Quero monitorar o uso da memória de um processo e quero que esses dados sejam registrados. Existe uma ferramenta desse tipo?
memory
monitoring
tshepang
fonte
fonte
Respostas:
Eu escrevi um script para fazer exatamente isso . É basicamente uma amostra
ps
em intervalos específicos, para criar um perfil de um processo específico. O processo pode ser iniciado pela própria ferramenta de monitoramento ou pode ser um processo independente (especificado por pid ou padrão de comando).fonte
Ocasionalmente, quando surge a necessidade, eu apenas faço:
Não é uma solução elegante, mas faz o trabalho se você deseja que o valor bruto rápido verifique sua hipótese.
fonte
grep --line-buffered <process> >>somefile
para forçar grep para a saída de cada linha, sem buffersar
( System Activity Reporter ) do pacote sysstat é seu amigo nesse caso.Outra maneira seria o monitoramento combinado com dados históricos, por exemplo, Munin, pnp4nagios, rrdtools, ...
fonte
sar
ser focado em apenas um processo? principalmente parece para monitorar o sistema como um todopidstat
comando também do pacote sysstat fornece uma interface bastante agradável para relatar estatísticas em um único processo.Além do sar acima mencionado, eu recomendo no topo . Ele salva um log binário que você pode ler posteriormente e, além disso, a memória salva muitas outras informações.
fonte
Você poderia tentar Valgrind .
fonte
Gosto da resposta simples de Sridhar, mas rolei a minha antes de experimentar a dele:
É basicamente útil apenas se você deseja saída estruturada. Altere 7274 conforme apropriado. Também Python 3.5.algo quebrou
_asdict()
, então use o Python 2.O arquivo de saída se parece com:
fonte