Jak wyświetlać wyniki „top” posortowane według zużycia pamięci w czasie rzeczywistym?

375

Jak wyświetlić topwyniki w moim terminalu w czasie rzeczywistym, aby lista była posortowana według zużycia pamięci?

Theodor Coogan
źródło
24
W systemie Linux >i <przenieść prawa kolumna sortowania i lewo. Ponieważ %MEMkolumna znajduje się po prawej stronie %CPUkolumny, która jest również domyślną kolumną sortowania, przełączanie się między nimi zajmuje tylko jedno naciśnięcie klawisza. Wiem, że twoje pytanie ma tag macintosh, dlatego piszę tę odpowiedź jako komentarz.
Walter Tross,
5
Wolę htop, głównie dlatego, że mówi mi, jak to zrobić.
Linde

Odpowiedzi:

424

Użyj toppolecenia w systemie Linux / Unix:

top
  • naciśnij shift+ mpo uruchomieniu toppolecenia
  • lub możesz interaktywnie wybrać kolumnę do sortowania
    • naciśnij Shift+, faby wejść do interaktywnego menu
    • naciskaj strzałkę uplub, down%MEMpodświetli się wybór
    • naciśnij, saby wybrać %MEMwybór
    • naciśnij, enteraby zapisać swój wybór
    • naciśnij, qaby wyjść z menu interaktywnego

Lub określ kolejność sortowania w wierszu polecenia

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

Bibliografia

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

Ramesh
źródło
2
W systemie Linux jest to top -o %MEM(zwróć uwagę na „%”)
Gabriel Hautclocq
@GabrielHautclocq To musi zależeć od twojej dystrybucji Linuksa i pakietu z nim powiązanego. Debian 7 używa procps-ngi -ow tej wersji nie ma żadnej opcji. SHIFT-Mdziała dla mnie po topuruchomieniu.
Christopher Schultz
top -o %MEMdziała na moim debianie 8 i 9, ale nie na debianie 7, masz rację @Christopher Schultz.
Gabriel Hautclocq,
zamiast <key> enter </key> powinno być <key> q </key>
dashy
99

Opcja wiersza poleceń -o(o oznacza „Override-sort-field”) działa również na moim komputerze Xubuntu i zgodnie ze stroną podręcznika Mac na górze powinna również działać na komputerze Macintosh. Jeśli chcę zewrzeć przez użycie pamięci, zwykle używam

top -o %MEM

który sortuje według kolumny %MEM. Ale mogę używać VIRT, RESczy SHRteż. Na komputerze Macintosh prawdopodobnie użyłbym memlub vsize.

Nie wiem dlaczego ani jak, ale jest to całkiem różne w systemach Unix, a nawet między dystrybucjami Linuksa. Na przykład -onie jest nawet dostępny w moim Raspberry z systemem Wheezy. Warto jednak spróbować.

ytg
źródło
2
Odpowiedź mogłaby być bardziej klarowna: %MEMjest udzielana jako chętny czytelnik; podczas gdy nie działa wszędzie (zdecydowanie).
7heo.tk
1
W przypadku Macbooka 2014 jest to top -o %MEM invalid argument -o: %MEM
napisane
Przykro mi to słyszeć.
ytg
To jedyna odpowiedź, która faktycznie działała dla mnie na centos.
Amalgovinus
1
@ anon58192932 należy wymienić %MEM(lub PID, VIRTitp) przez dowolną nazwę kolumny, które można zobaczyć podczas pracy toptylko. Jak zauważył ytg , „na komputerze Macintosh prawdopodobnie użyłbymmem lub vsize”.
ebosi
14

Wygląda na to, że flaga -o przyjmie rzeczywistą nazwę kolumny. Więc jeśli górne polecenie pokazuje tylko „mem”, wówczas polecenie powinno brzmieć „top -o mem .

W przypadku maszyny Ubuntu, na której testuję, kolumna nosi nazwę „% MEM” . Na OSX Yosemite próbowałem, to jest „mem” .

GlennTPeace
źródło
13

Dla Ubuntu 14.04 począwszy od

htop -s=MEM

zrobił dla mnie lewę.

Borjowski
źródło
Działa również dobrze dla OSX.
ehime
to inna komenda. Szukasz odpowiedzi na temat toppolecenia (zadanego w tym pytaniu) nie htop.
Lukas
7

Jeśli topjuż działa, naciśnij o . Nad danymi pojawi się monit:

primary key [xxxxx]:

Gdzie xxxxxjest obecny klucz sortowania. Wpisz nazwę kolumny, według której chcesz sortować. Jeśli nazwa kolumny zawiera „%” lub „#”, pomiń znak. Aby uzyskać% procesora, wpisz „cpu”.

George Boutin
źródło
6

Wydaje się, że pierwotne pytanie dotyczyło komputera Mac, ale dla każdego, kto natknie się na tę odpowiedź, w systemie Red Hat Linux (i wielu innych), „top-m” zaczyna się od wyników posortowanych według zużycia pamięci.

Anthony
źródło
Nie w Debianie 8
marcovtwout
Pracowano nad: Red Hat Enterprise Linux Server wersja 6.8 (żadna z pozostałych odpowiedzi nie działała).
Contango,
4

W systemie Linux uruchom:

$ top

Następnie naciśnij Shift+ M.

JBaczuk
źródło
2

Ubuntu 14.04 - działa dobrze:

htop --sort-key=PERCENT_MEM
Коста Великов
źródło
3
htop nie jest na szczycie
Anthon
2

Jeśli używasz tego, topktóry jest dostarczany z Ubuntu ( top -v= procps-ng version 3.3.10), możesz użyć tych interaktywnych skrótów klawiaturowych, aby zmienić sortowanie. Zauważ, że są to wielkie litery, więc użyj shiftalbo caps lock.

M% MEM
NPID
P%
TCZASU Procesora +

Domyślnie będą sortowane w kolejności DESC. Służy Rdo przełączania ASC / DESC.

Aby ustawić sortowanie według opcji wiersza poleceń, użyj top -o %MEM. Możesz podać dowolną kolumnę.

wisbucky
źródło