Existe um aplicativo que pode mostrar o uso de memória de maneira semelhante ao topo?

8

Eu gostaria de deixar um aplicativo em execução no meu terminal que me mostre o uso de memória, semelhante a como top mostra a CPU e outras informações, e iotop mostra os principais usuários de E / S.

Existe tal aplicativo?

P.S. Sei que o top também mostra o uso da memória, mas estou falando sobre classificação por uso de memória superior e não mostrar nenhuma outra informação (semelhante ao que iotop faz).

    
por RolandiXor 26.05.2012 / 16:56

4 respostas

8

O mais próximo que pude encontrar é memtop , um script em Python disponível aqui no Google Code.

Screenshot:

Como usar memtop

  • É um script Python, portanto, basta executar sudo mv memtop-1.0.0.py /usr/bin/memtop.py e chmod +x /path/to/memtop.py para torná-lo executável
  • O período de atualização padrão é de 15 min; use a opção -p 1 para torná-la 1 minuto, etc. (não pode ser menor do que isso, a menos que você modifique a origem)
  • Use -l N , onde N é o número de processos que você deseja mostrar, dependendo do tamanho do seu terminal.
  • Use -m para mostrar "mais" informações, ou seja, as estatísticas de troca / página na parte inferior da captura de tela.

O htop disfarçado de memtop opção

Se você não usa htop , é muito fácil configurá-lo com a opção de configuração F2 para parecer com memtop :

  • A configuração htop é armazenada em ~/.config/htop/htoprc , portanto basta excluir htoprc para restaurar o normal htop .
por ish 27.05.2012 / 09:05
2

Não conheço nenhum aplicativo específico para monitorar o que você quer em tempo real, mas encontrei algumas informações que podem ser úteis.

Primeiro é um simples comando para imprimir esta informação ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS (encontrado aqui: )

Segundo, aqui estão mais algumas informações sobre scripts para fazer o mesmo:

link

e

link

Você pode escrever seu próprio script / programa para atender às suas necessidades. A informação que você precisa está toda atualizada em /proc/ em tempo real, mas você tem que resolver dois problemas:

  1. Eu duvido que exista algum arquivo listando todos os processos e seu uso de memória em tempo real. Em vez disso, cada processo tem seus próprios arquivos (em /proc/[pid]/ ), e alguns dos arquivos em potencial para encontrar essas informações não são legíveis para humanos - embora suspeite que statm e status tenham as informações necessárias e sejam legíveis por humanos .
  2. Exibindo todas essas informações em tempo real. Eu sei muito pouco sobre bash scripting ou programação, mas para exibir as informações em tempo real, você precisaria usar algo como um monte de tail de comandos com um pipe para classificar / imprimir apenas as informações desejadas para cada processo.

Não é realmente uma resposta completa, mas espero que isso lhe dê algumas ideias do que você poderia tentar. Boa sorte!

    
por adempewolff 27.05.2012 / 06:35
2

Experimente watch memstat -w ou talvez watch free -m .

    
por belacqua 27.05.2012 / 06:45
1

htop é ótimo. É razoavelmente leve (ao contrário do gnome-system-monitor. Não faz sentido para mim que um programa de monitoramento do sistema seja o programa de maior uso).

Pressione F6 e use as teclas de seta ou o mouse para mudar para classificação por MEM%.

    
por tsbertalan 26.05.2012 / 18:46