Comment afficher les résultats `top` triés par utilisation de la mémoire en temps réel?


375

Comment puis-je afficher les toprésultats dans mon terminal en temps réel afin que la liste soit triée par utilisation de la mémoire?


24
Sous Linux, >et <déplacer la droite de la colonne de tri et à gauche. Comme la %MEMcolonne est juste à droite de la %CPUcolonne, qui est également la colonne de tri par défaut, il suffit d'une frappe pour basculer entre les deux. Je sais, votre question a la balise macintosh, c’est pourquoi j’écris cette réponse sous forme de commentaire.
Walter Tross le

5
Je préfère htop, surtout parce qu'il me dit comment faire cela.
Linde

Réponses:


424

Utilisez la topcommande sous Linux / Unix:

top
  • appuyez sur shift+ maprès avoir exécuté la topcommande
  • ou vous pouvez choisir de manière interactive la colonne sur laquelle trier
    • appuyez sur Shift+ fpour entrer dans le menu interactif
    • appuyez sur la flèche upou downjusqu'à ce que le %MEMchoix soit mis en surbrillance
    • appuyez sur spour sélectionner le %MEMchoix
    • appuyez sur enterpour enregistrer votre sélection
    • appuyez sur qpour quitter le menu interactif

Ou spécifiez l'ordre de tri sur la ligne de commande

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

Références

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


2
Sous Linux, c'est top -o %MEM(notez le "%")
Gabriel Hautclocq le

@GabrielHautclocq Cela doit dépendre de votre distribution de Linux et du paquet livré avec. Debian 7 utilise procps-nget il n’ya aucune -ooption dans cette version. SHIFT-Mfonctionne pour moi une fois topest lancé.
Christopher Schultz

top -o %MEMfonctionne sur mes debian 8 et 9, mais pas sur debian 7, vous avez raison @Christopher Schultz.
Gabriel Hautclocq

au lieu de <key> enter </ key>, il devrait s'agir de <key> q </ key>
Dashesy

99

L'option de ligne de commande -o(o pour "Override-sort-field") fonctionne également sur ma machine Xubuntu et, selon la page de manuel Mac du haut, elle devrait également fonctionner sur un Macintosh. Si je veux raccourcir l'utilisation de la mémoire, j'utilise habituellement

top -o %MEM

qui trie par la colonne %MEM. Mais je peux utiliser VIRT, RESou SHRaussi. Sur un Macintosh, j'utiliserais probablement memou vsize.

Je ne sais pas pourquoi ni comment, mais c'est assez différent entre les systèmes Unix et même entre les distributions Linux. Par exemple, il -on’est même pas disponible sur mon Raspberry qui tourne sous Wheezy. Cela vaut peut-être la peine d'essayer.


2
La réponse pourrait %MEMdonner plus de clarté à l'utilisateur: est donnée comme réponse au lecteur avide; alors que cela ne fonctionne pas partout (de loin).
7hé.tk

1
Pour Macbook 2014, cela top -o %MEM invalid argument -o: %MEM
signifie

Je suis désolé d'entendre ça.
dimanche

C’est la seule réponse qui a réellement fonctionné pour moi avec les centos.
Amalgovinus

1
@ anon58192932, vous devez remplacer %MEM(ou PID, VIRTetc.) par tout nom de colonne indiqué topuniquement lors de l'exécution . Comme indiqué par ytg , "sur un Macintosh, j'utiliserais probablement memou vsize".
ebosi

14

Il semble que le drapeau -o prendra le nom de colonne réel. Donc, si la commande top affiche uniquement "mem", la commande doit être "top -o mem " .

Pour la machine Ubuntu avec laquelle je teste, la colonne s'appelle "% MEM" . Sur l’OSX Yosemite j’ai essayé, c’est "mem" .


13

Pour Ubuntu 14.04 commençant par

htop -s=MEM

a fait le tour pour moi.


Fonctionne bien aussi pour OSX.
ehime

c'est une commande différente. Vous cherchez une réponse à propos de la topcommande (comme demandé dans cette question) non htop.
Lukas

7

Si topest déjà en cours d'exécution, appuyez sur o . Au-dessus des données, une invite apparaîtra:

primary key [xxxxx]:

xxxxxest la clé de tri actuelle. Tapez le nom de la colonne par laquelle vous souhaitez trier. Si un nom de colonne contient "%" ou "#", omettez le caractère. Pour% CPU, tapez simplement "cpu".


6

La question initiale semblait avoir été posée sur un Mac, mais pour tous ceux qui tombent sur cette réponse, sous Red Hat Linux (et bien d’autres), top -m commence avec les résultats triés par l’utilisation de la mémoire.


Pas sur Debian 8
marcovtwout

Travaillé sur: Red Hat Enterprise Linux Server version 6.8 (aucune des autres réponses ne fonctionnait).
contango

4

Sur Linux, lancez:

$ top

Puis appuyez sur, Shift+ M.



2

Si vous utilisez le logiciel topfourni avec Ubuntu ( top -v= procps-ng version 3.3.10), vous pouvez utiliser ces raccourcis clavier interactifs pour modifier le tri. Notez que ce sont toutes des lettres majuscules, utilisez donc shiftou caps lock.

M% MEM
NPID
P% CPU
TTIME +

Par défaut, ils seront triés dans l'ordre DESC. Utilisez Rpour basculer ASC / DESC.

Pour définir le tri à partir de l'option de ligne de commande, utilisez top -o %MEM. Vous pouvez spécifier n'importe quelle colonne.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.