Eu costumava top
ver o uso de memória no momento. Mas eu gostaria de monitorar o uso de memória durante um período de tempo. Por exemplo, inicie o monitoramento e execute alguns comandos, e finalmente pare o monitoramento e veja quanta memória foi usada durante o período.
Como posso fazer isso no Ubuntu Server?
Acho que poderia iniciar um cronjob a cada 5 segundos ou mais e invocar um comando que registra o uso atual da memória em um arquivo de texto. Mas qual comando devo usar para obter o uso atual da memória em um formato fácil de registrar em um arquivo de texto?
Eu recomendo combinar as respostas anteriores
Observe que o Linux gosta de usar qualquer memória extra para armazenar em cache os blocos do disco rígido . Então você não quer olhar apenas para os arquivos
Mem
. Você quer olhar para afree
coluna da-/+ buffers/cache:
linha. Isso mostra quanta memória está disponível para os aplicativos. Então eu apenas corrifree -m
e peguei isso:Eu sei que estou usando 1528 MB e tenho 2170 MB livres.
Nota: Para interromper este
watch
ciclo, basta pressionar Ctrl+ C.Acho que
htop
é a melhor solução.sudo apt-get install htop
Dessa forma, você notará quais programas estão usando mais memória RAM. e você pode facilmente encerrar um, se quiser. Aqui está uma captura de tela!
Se você está procurando um bom detalhamento da memória usada por cada processo em execução, recomendo verificar ps_mem.py (encontrado aqui em pixelbeat.org).
Eu sei que nos comentários acima, você mencionou querer um instantâneo de uma linha de free , mas imaginei que outros poderiam achar isso útil.
Saída de exemplo:
A única parte que não gosto é o fato de que o script afirma exigir privilégios de root. Ainda não tive a oportunidade de ver exatamente por que isso acontece.
Use o comando livre . Por exemplo, esta é a saída de
free -m
:free -m | grep /+
retornará apenas a segunda linha:O comando watch pode ser útil. Tente
watch -n 5 free
monitorar o uso de memória com atualizações a cada cinco segundos.Você pode fazer isso usando
cat /proc/meminfo
.Acabei de encontrar esta solução e funciona muito bem, criando uma interface gráfica através da CLI:
Para monitoramento visual do uso geral da RAM, se você usar o Byobu , ele manterá o uso da memória no canto inferior direito do terminal e será executado enquanto você estiver em qualquer sessão do terminal.
Como você pode ver na captura de tela, minha máquina virtual tem um tempo de atividade de 1h3m, carga de 0,00, processador de 2,8 GHz (virtual) e 994 MB (21%) de RAM disponível no sistema.
Solução de linha única e saída:
Aqui está um exemplo da saída esperada:
Eu usaria cactos . Isso fará um gráfico do seu uso de memória, etc., durante um período de tempo, e você poderá verificar o uso usando seu navegador da web.