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

8

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

Top e iotop

Existe um aplicativo assim?

PS: Sei que o top também mostra o uso de memória, mas estou falando sobre a classificação pelo uso da memória e não mostra nenhuma outra informação (semelhante ao que iotopfaz).

RolandiXor
fonte
Na parte superior, pressione M e classificará o uso de memória. É isso que você procura?
Pop26
Também não estou muito claro quais recursos você deseja ou não, mas htopé a topalternativa que eu uso. Embora pareça que talvez você esteja procurando menos recursos, mas mais específicos, do que mais recursos?
Adempewolff
@adempewolff exatamente. Por exemplo, o iotop faz o que diz - mostra o uso de E / S dos meus aplicativos e nada mais. Eu quero ser capaz de executar o dizer, 'memtop' e apenas obter% de uso de memória. htopnão é o que estou procurando - porque mostra outras coisas (incluindo o uso da CPU) das quais já recebo top. Quero dizer, eu gosto do htop sem dúvida (eu o usei antes), mas não é o que estou procurando neste caso.
RolandiXor

Respostas:

8

O mais próximo que pude encontrar é memtopum script Python disponível aqui no Google Code.

Captura de tela: insira a descrição da imagem aqui

Como usar o memtop

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

O htop disfarçado como opção memtop

Se você não usar o htopcontrário, é muito fácil configurá-lo com a opção F2-setup para se parecer com memtop:

insira a descrição da imagem aqui

  • A configuração do htop é armazenada ~/.config/htop/htoprc, então exclua htoprcpara restaurar o htop normal .
ish
fonte
O projeto foi transferido para o GitHub: github.com/MartinThoma/memtop
Martin Thoma
2

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

Primeiro, veja um comando simples para imprimir essas informações ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS(encontradas aqui: http://www.linuxquestions.org/questions/linux-general-1/how-to-show-the-memory-usage-per-process-160181/ )

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

http://unixlive.editboard.com/t4-memory-usage-retrieval-on-linux-process-wise-and-general

e

http://unixlive.editboard.com/t5-how-much-ram-is-used-per-program

Você pode escrever seu próprio script / programa para atender às suas necessidades. As informações necessárias são todas atualizadas em /proc/tempo real, mas é necessário resolver dois problemas:

  1. Duvido que exista algum arquivo listando todos os processos e o uso de memória em tempo real. Em vez disso, todo processo possui seus próprios arquivos (in /proc/[pid]/), e alguns dos arquivos em potencial para encontrar essas informações não são legíveis por humanos - embora eu suspeite disso statme statustenham 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 scripts ou programação do bash, mas para exibir as informações em tempo real, você precisará usar vários tailcomandos 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 idéias do que você poderia tentar. Boa sorte!

adempewolff
fonte
2

Tente watch memstat -wou talvez watch free -m.

belacqua
fonte
1

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

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

tsbertalan
fonte
2
Enquanto eu gosto desta resposta, e htop (eu a usei antes), estou procurando um aplicativo que siga o princípio de fazer uma coisa e fazê-la bem (como iotop).
RolandiXor