Uso de memória de comando TOP

14

Sob SuSE, (Mem: 31908592k total, 31421504k usado,) como eu sei qual processo ou programa usando minha memória?

AlBouazizi
fonte

Respostas:

24

O programa padrão (linha de comando) para verificar o uso de cpu / memória para processos é toptambém um pouco mais cheio de recursos, htopporém em muitos sistemas seu limite é o topmesmo ( bashquase sempre está ligado a shmaioria dos sistemas linux modernos) . Há também vários invólucros GUI para top / htop disponíveis

Após abrir a parte superior, clique Mem classificar por uso de memória.

EDIT - 4-12 Para maior clareza, decidi expandir a classificação. Aqui está uma topjanela típica quando executado a partir do shell do terminal, isso já é classificado por%MEM

insira a descrição da imagem aqui

A coluna que mais lhe interessa é a %MEMque lhe dará a parte da memória total disponível usada por esse processo. VIRTdá a pegada de memória virtual do processo, dos quais apenas a RESquantidade está atualmente na memória física (o resto é trocado, e não mostrado atualmente na tabela)

A fim de classificar por uma coluna que você bateu F(shift-F) e a tela mudará para o seguinte

insira a descrição da imagem aqui

Como você pode ver, apertar nirá selecionar ordenar por porcentagem de memória (aperte enter para retornar para a visão de tabela). (Existe um atalho legado Shift-m que irá alternar a classificação por memória quando atingido na exibição de tabela) Você pode usar <e >na exibição de tabela (shift -, e shift-.) Para percorrer a coluna classificada.

Na exibição de tabela, pressionar minúsculas malternará a exibição de resumo da memória.insira a descrição da imagem aqui

Nota: Eu brinquei com as colunas de classificação para que as colunas fossem embaralhadas a partir da primeira imagem.

Como muitos utilitários de linha de comando unix / linux, há muitos pequenos truques e coisas e recursos ocultos - o top é uma ferramenta muito poderosa. Por exemplo, você pode mostrar várias tabelas ao mesmo tempo (digamos, o top 5 em vez do top 20, mas para 4-5 parâmetros diferentes) - como? Eu não sei, mas acidentalmente cheguei a isso quando tirei as imagens. Um capítulo completo de um bom livro sobre * nix pode ser dedicado top, então o resumo acima é apenas uma pequena introdução para obter o que você precisa saber sobre seus processos.

crásico
fonte
Crasic, obrigado pela sua resposta, eu sei top comando irá mostrar-lhe: (Mem: 31908592k total, 31153712k usado, 754880k livre), mas whant eu preciso saber é se toda essa memória é usada.
AlBouazizi
Olhe na coluna "% MEM" do topo.
Daniel Andersson
@AlBouazizi Top irá, por padrão, ordenar os processos (a lista abaixo da barra de banners) pela CPU batendo M(ou seja, Shift-m) irá recorrer a lista por uso de memória.
crasic
obrigado por suas respostas detalhadas, eu aprendo coisas novas .. mas ainda não sei o 31GB de usado por qual programa / processo .. Obrigado novamente
AlBouazizi
@AlBouazizi qual é o programa que está no topo da página quando você classifica por uso de memória?
crasic
1

Isso irá gerar muitos processos, vale a pena tentar.

ps -eo pid,pmem,rss,comm --sort rss
risyasin
fonte
Risyasin, eu tentei o seu comando, mas não ajudou com o que estou procurando. Eu tenho 31GB de memória usada. Eu preciso saber quem usou essa memória. Obrigado como.
AlBouazizi
0

você pode usar o seguinte comando:

ps ww -eo pid,pcpu,pmem,rss,cmd --sort rss

O campo "rss" indica o uso de memória

--sort rss - significando ordenar por uso de memória desc

Romeu
fonte