Come visualizzare i risultati migliori in base all'utilizzo della memoria in tempo reale?


375

Come posso visualizzare i toprisultati nel mio terminale in tempo reale in modo che l'elenco sia ordinato in base all'utilizzo della memoria?


24
Su Linux >e <sposta la colonna di ordinamento a destra e a sinistra. Dal momento che la %MEMcolonna è proprio a destra della %CPUcolonna, che è anche la colonna di ordinamento predefinita, è sufficiente un solo tasto per passare da una all'altra. Lo so, la tua domanda ha il tag macintosh, ecco perché sto scrivendo questa risposta come commento.
Walter Tross,

5
Preferisco htop, principalmente perché mi dice come farlo.
Lindhe,

Risposte:


424

Utilizzare il topcomando in Linux / Unix:

top
  • premere shift+ mdopo aver eseguito il topcomando
  • oppure puoi scegliere in modo interattivo su quale colonna ordinare
    • premere Shift+ fper accedere al menu interattivo
    • premere la freccia upo downfino a %MEMevidenziare la scelta
    • premere sper selezionare la %MEMscelta
    • premere enterper salvare la selezione
    • premere qper uscire dal menu interattivo

Oppure specifica l'ordinamento nella riga di comando

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

Riferimenti

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


2
Su Linux è top -o %MEM(nota "%")
Gabriel Hautclocq,

@GabrielHautclocq Deve dipendere dalla tua distribuzione di Linux e dal pacchetto in dotazione. Debian 7 usa procps-nge non esiste alcuna -oopzione in quella versione. SHIFT-Mfunziona per me una volta toplanciato.
Christopher Schultz,

top -o %MEMfunziona sul mio debian 8 e 9, ma non su debian 7, hai ragione @Christopher Schultz.
Gabriel Hautclocq,

invece di <key> inserisci </key> dovrebbe essere <key> q </key>
accelerare il

99

L'opzione della riga di comando -o(o che sta per "Override-sort-field") funziona anche sulla mia macchina Xubuntu e secondo la pagina man di Mac in alto dovrebbe funzionare anche su un Macintosh. Se voglio abbreviare con l'uso della memoria di solito uso

top -o %MEM

che ordina per colonna %MEM. Ma posso usare VIRT, RESo SHRanche. Su un Macintosh probabilmente userei memo vsize.

Non so perché o come, ma questo è molto diverso tra i sistemi Unix e persino tra le distribuzioni Linux. Ad esempio, -onon è nemmeno disponibile sul mio Raspberry con Wheezy. Potrebbe valere la pena provarlo però.


2
La risposta potrebbe essere più chiara per l'utente: %MEMviene data come risposta al lettore desideroso; mentre non funziona ovunque (di gran lunga).
7heo.tk,

1
Per Macbook 2014 questo sta dicendo:top -o %MEM invalid argument -o: %MEM
anon58192932

Mi dispiace sentirlo.
ytg

Questa è l'unica risposta che ha funzionato su centos per me.
Amalgovinus

1
@ anon58192932 è necessario sostituire %MEM(o PID, VIRTecc) da qualsiasi nome di colonna che si vede quando si esegue topsolo. Come notato da ytg , "su un Macintosh probabilmente usereimem o vsize".
ebosi,

14

Sembra che il flag -o prenderà il nome della colonna attuale. Quindi se il comando top mostra solo "mem", allora il comando dovrebbe essere "top -o mem " .

Per la macchina Ubuntu con cui sto testando, la colonna si chiama "% MEM" . Su OSX Yosemite che ho provato, è "mem" .


13

Per Ubuntu 14.04 a partire da

htop -s=MEM

ha fatto il trucco per me.


Funziona bene anche per OSX.
ehime,

è un comando diverso. In cerca di risposta sul topcomando (come richiesto in questa domanda) no htop.
Lukas,

7

Se topè già in esecuzione, premere o . Sopra i dati, verrà visualizzato un prompt:

primary key [xxxxx]:

Dov'è xxxxxla chiave di ordinamento corrente. Digita il nome della colonna in base alla quale desideri ordinare. Se il nome di una colonna contiene "%" o "#", ometti il ​​carattere. Per% CPU, basta digitare "cpu".


6

La domanda originale sembra essere stata per un Mac, ma per chiunque si imbattesse in questa risposta, su Red Hat Linux (e molti altri), 'top -m' inizia in alto con i risultati ordinati in base all'uso della memoria.


Non su Debian 8
marcovtwout,

Ha funzionato su: Red Hat Enterprise Linux Server versione 6.8 (nessuna delle altre risposte ha funzionato).
Contango

4

Su Linux, esegui:

$ top

Quindi premere, Shift+ M.



2

Se stai usando topquello fornito con Ubuntu ( top -v= procps-ng version 3.3.10), puoi usare queste scorciatoie da tastiera interattive per cambiare l'ordinamento. Nota che queste sono tutte lettere maiuscole, quindi usa shifto caps lock.

M% MEM
NPID
P% CPU
TTIME +

Per impostazione predefinita, verranno ordinati in ordine DESC. Utilizzare Rper attivare ASC / DESC.

Per impostare l'ordinamento dall'opzione della riga di comando, utilizzare top -o %MEM. Puoi specificare qualsiasi colonna.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.