Como exibir os melhores resultados classificados por uso de memória em tempo real?

375

Como posso exibir os topresultados no meu terminal em tempo real para que a lista seja classificada por uso de memória?

Theodor Coogan
fonte
24
No Linux, >e <mover o direito coluna de classificação e saiu. Como a %MEMcoluna fica à direita da %CPUcoluna, que também é a coluna de classificação padrão, leva apenas um toque de tecla para alternar entre as duas. Eu sei, sua pergunta tem a tag macintosh, é por isso que estou escrevendo esta resposta como um comentário.
Walter Tross
5
Eu prefiro htop, principalmente porque me diz como fazer isso.
precisa saber é

Respostas:

424

Use o topcomando no Linux / Unix:

top
  • pressione shift+ mapós executar o topcomando
  • ou você pode escolher interativamente em qual coluna classificar
    • pressione Shift+ fpara entrar no menu interativo
    • pressione a seta upou downaté que a %MEMopção seja destacada
    • pressione spara selecionar a %MEMopção
    • pressione enterpara salvar sua seleção
    • pressione qpara sair do menu interativo

Ou especifique a ordem de classificação na linha de comando

# on OS-X
top -o MEM
# other distros
top -o %MEM

Referências

https://stackoverflow.com/questions/4802481/how-to-see-top-processes-by-actual-memory-usage

Ramesh
fonte
2
No Linux é top -o %MEM(observe o "%")
Gabriel Hautclocq 01/09/19
@GabrielHautclocq Ele deve depender da sua distribuição do Linux e do pacote fornecido com ele. O Debian 7 usa procps-nge não há nenhuma -oopção nessa versão. SHIFT-Mfunciona para mim uma vez que topé lançado.
Christopher Schultz
top -o %MEMfunciona no meu debian 8 e 9, mas não no debian 7, você está certo @Christopher Schultz.
Gabriel Hautclocq
em vez de <key> digite </key>, deve ser <key> q </key>
dashesy em
99

A opção de linha de comando -o(o que significa "Substituir campo de classificação") também funciona na minha máquina Xubuntu e, de acordo com a página de manual do Mac no topo, também deve funcionar no Macintosh. Se eu quero diminuir o uso da memória, geralmente eu uso

top -o %MEM

que classifica pela coluna %MEM. Mas eu posso usar VIRT, RESou SHRtambém. Em um Macintosh eu provavelmente usaria memou vsize.

Não sei por que nem como, mas isso é muito diferente entre sistemas Unix e até entre distribuições Linux. Por exemplo, -onem sequer está disponível no meu Raspberry executando o Wheezy. Pode valer a pena experimentá-lo embora.

ytg
fonte
2
A resposta poderia ter mais clareza: %MEMé dada como resposta ao leitor ansioso; enquanto não funciona em todos os lugares (de longe).
7heo.tk
1
Para o Macbook 2014, isto é o seguinte:top -o %MEM invalid argument -o: %MEM
anon58192932
Sinto muito por ouvir isso.
ytg
Esta é a única resposta que realmente funcionou em centos para mim.
Amalgovinus
1
@ anon58192932 você deve substituir %MEM(ou PID, VIRTetc.) por qualquer nome de coluna que você vê ao executar topapenas. Como observado pelo ytg , "em um Macintosh eu provavelmente usaria memou vsize".
ebosi
14

Parece que o sinalizador -o levará o nome da coluna real. Portanto, se o comando top mostrar apenas "mem", o comando deve ser "top -o mem " .

Para a máquina ubuntu com a qual estou testando, a coluna é chamada "% MEM" . No OSX Yosemite eu tentei, é "mem" .

GlennTPeace
fonte
13

Para Ubuntu 14.04 começando com

htop -s=MEM

fez o truque para mim.

Borjovsky
fonte
Funciona bem para OSX também.
ehime
é comando diferente. Procurando resposta sobre o topcomando (conforme solicitado nesta pergunta) não htop.
Lukas
7

Se topjá estiver em execução, pressione o . Acima dos dados, um prompt aparecerá:

primary key [xxxxx]:

Onde xxxxxestá a chave de classificação atual. Digite o nome da coluna pela qual você deseja classificar. Se o nome de uma coluna contiver "%" ou "#", omita o caractere. Para% CPU, digite "cpu".

George Boutin
fonte
6

A pergunta original parece ter sido para um Mac, mas para qualquer pessoa que tropeça nessa resposta, no Red Hat Linux (e muitos outros), 'top -m' começa no topo com os resultados classificados pelo uso da memória.

Anthony
fonte
Não no Debian 8
marcovtwout 27/02
Trabalhou em: Servidor Red Hat Enterprise Linux versão 6.8 (nenhuma das outras respostas funcionou).
Contango 21/03
4

No linux, execute:

$ top

Depois pressione, Shift+ M.

JBaczuk
fonte
2

Ubuntu 14.04 - isso funciona muito bem:

htop --sort-key=PERCENT_MEM
Коста Великов
fonte
3
htop não é top
Anthon
2

Se você estiver usando o topque acompanha o Ubuntu ( top -v= procps-ng version 3.3.10), poderá usar esses atalhos de teclado interativos para alterar a classificação. Observe que todas são letras maiúsculas, portanto, use shiftou caps lock.

M% MEM
NPID
P% CPU
TTIME +

Por padrão, eles serão classificados na ordem DESC. Use Rpara alternar ASC / DESC.

Para definir a classificação na opção de linha de comando, use top -o %MEM. Você pode especificar qualquer coluna.

wisbucky
fonte