Instale e configure o pacote sysstat
, que faz exatamente o que você está pedindo.
sudo apt-get install sysstat
Eu verifiquei alguns programas, como o comando htop ou top, mas não encontrei nenhum recurso para registro por minuto.
Existe uma maneira de fazer isso para rastrear problemas de memória?
edit: Eu estava usando o linode e decidi usar o Longview.
Instale e configure o pacote sysstat
, que faz exatamente o que você está pedindo.
sudo apt-get install sysstat
Se eu estivesse fazendo isso, eu provavelmente criaria um script com o RRDtool .
RRDtool é algo que é construído para coleta de dados baseada em intervalo e, em seguida, a criação de gráficos na parte de trás dos dados. Se você já viu um netgraph em um painel de controle do ISP, provavelmente foi feito com o RRDtool.
Como você implementa isso é com você. Existem soluções bash "puras" com o cron, mas também há boas opções de Python e Perl por aí:
Tanto quanto eu posso ver, isso atualiza uma imagem em um local definido. Isso pode estar no seu servidor ou ser descartado pelo NFS em seu homedir.
Isso mantém seu próprio temporizador e faz praticamente o que você quiser. Eu prefiro isso para bater porque é mais fácil picar, mas o que flutua o seu barco. Provavelmente é mais difícil para um não-Pythoneer se preparar.
Se você quiser muito mais do que isso, confira Munin. Isso usa o RRDtool prolificamente para registrar uma carga inteira de dados do sistema e gera páginas HTML estáticas em um intervalo definido.
Existe mais uma maneira de fazer isso. Ao usar trabalhos cron, podemos obter isso.
* * * * * username /path/to/./script.sh
o script é simplesmente
#!/bin/bash
echo "$(date +%Y%m%d-%H%M%S) $(free -mt | awk 'END{print }')" >> ~/memlog.txt
antes de colocar o script
chmod +x script.sh
para criar um script acima e faça como eu disse, coloque o script na localização / usr / bin. em seguida, abra seu /etc/crontab
com
sudo nano /etc/crontab
e coloque a primeira linha lá. Esse script é executado a cada minuto e fornece detalhes de memória para cada minuto.
Então, finalmente, esse arquivo log.txt conterá os detalhes do log da Memória para cada minuto.
e tenho mais uma informação útil para você que
watch cat log.txt
mostrará o arquivo log.txt no terminal e ele atualizará o conteúdo ao vivo.assim, no próprio terminal atual, com uma única digitação, você pode ter uma exibição ao vivo do arquivo log.txt.
vmstat -S M 60
faria (em megabytes).
Você só precisa lembrar que a RAM livre é "free + cache + buf".
Para fins de registro, pode ser útil imprimir o registro de data e hora, o que pode ser feito de várias maneiras, por exemplo. g .:
vmstat -nS M 60 | while read _vmstat; do echo $(date --rfc-3339=seconds) $_vmstat; done
Aqui meu truque. Com este comando eu adiciono relatórios de free, vmstat e top em arquivos txt a cada 5s.
watch -n 5 'free -mt >> free-report.txt && vmstat -S M >> vm-report.txt && top -b -n1 >> top-report.txt'