Det översta kommandot ger en dynamisk vy i realtid av det körande systemet. Den används för att övervaka systemprocesser och resursanvändning som CPU, minne och växlingsanvändning.
Allmän syntax för toppkommandot:
$ top [OPTIONS]
1. Lista alla pågående processer
top
Använd det översta kommandot för att visa pågående uppgifter, minne, CPU och swap. För att stänga fönstret, tryck på q
Exempel:
När du kör det översta kommandot i en terminal utan alternativ är det här vad du kan få.
top - 15:20:26 up 10 days, 2:30, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 193 total, 1 running, 192 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.7 us, 0.2 sy, 0.0 ni, 98.9 id, 0.1 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem : 8167848 total, 2003084 free, 1652232 used, 4512532 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 6171720 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1219 root 20 0 658884 56644 35980 S 6.7 0.7 42:11.77 Xorg
2781 user1 20 0 883780 31576 21744 S 6.7 0.4 0:01.01 gnome-terminal-
1 root 20 0 225636 9484 6812 S 0.0 0.1 0:07.31 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 mm_percpu_wq
7 root 20 0 0 0 0 S 0.0 0.0 0:00.31 ksoftirqd/0
8 root 20 0 0 0 0 I 0.0 0.0 0:02.91 rcu_sched
Den första raden ger en sammanfattning av systemet: aktuell tid, drifttid, antal användare och belastningsmedelvärde.
Den andra raden visar det totala antalet uppgifter och deras tillstånd: kör, inaktiv, stoppad eller zombie.
Den tredje raden visar CPU-användningsdetaljerna: användarprocesser, systemprocesser, inaktiva processer, etc.
Den fjärde och femte raden visar minnesanvändningen: totalt, ledigt, använt och buffert/cacheminne.
Resten av raderna listar alla processer som körs på systemet. Varje rad representerar en process med detaljer som PID, ANVÄNDARE, CPU-användning, minnesanvändning och kommandot som används för att starta processen.
2. Visa processer för en specifik användare.
top -u [user]
Alternativet -u låter dig visa all information om en specifik användares pågående processer.
Exempel:
Visar pågående processer för rotanvändaren.
top - 12:34:56 up 10 days, 2:30, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 100 total, 1 running, 99 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.1 sy, 0.0 ni, 99.5 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
MiB Mem : 7976.1 total, 1694.7 free, 1263.5 used, 5017.8 buff/cache
MiB Swap: 1024.0 total, 1024.0 free, 0.0 used. 6412.1 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 225492 9484 6812 S 0.0 0.1 0:06.37 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.36 ksoftirqd/0
5 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H
7 root 20 0 0 0 0 I 0.0 0.0 0:01.31 rcu_sched
...
I det här exemplet kan du se att top-u root-kommandot endast visar processer som ägs av root-användaren. Utdatan innehåller information om varje process, såsom process-ID (PID), prioritet (PR), nice value (NI), virtuellt minnesstorlek (VIRT), resident memory size (RES), storleken på det delade minnet (SHR) , CPU:n. användning (%CPU), minnesanvändning (%MEM) och kommandot som används för att starta processen (COMMAND).
3. Aktivera batchläge
top -b
Kommandot top -b används för att köra top i batch-läge. Detta är särskilt användbart när du vill omdirigera tops utdata till en fil eller ett annat kommando. I batchläge kommer top inte att acceptera inmatning och kommer att köra upp till den iterationsgräns du ställer in eller tills den tas bort.
Exempel:
I det här exemplet säger -n 1 till top att bara köra en gång, istället för att kontinuerligt uppdatera. Utdata omdirigeras sedan till top-output.txt.
När du öppnar top-output.txt-filen kan du se utdata som liknar detta:
top - 18:25:01 up 10 days, 5:45, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 162 total, 1 running, 161 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.7 us, 0.3 sy, 0.0 ni, 98.9 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 8167848 total, 1785084 free, 1583456 used, 4799308 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 6250480 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 225492 9484 6812 S 0.0 0.1 0:09.07 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.55 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root 20 0 0 0 0 S 0.0 0.0 0:07.28 rcu_sched
4. Börja från samma tillstånd.
top -c
top -c visar de för närvarande aktiva processerna tillsammans med ytterligare information, inklusive den fullständiga kommandoraden som används för att starta varje process. Detta kan vara användbart för att se exakt vilka parametrar som skickades till en process.
Exempel:
Här är ett exempel på utdata från kommandot top -c:
top - 12:34:56 up 10 days, 2:03, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 100 total, 1 running, 99 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.1 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 2040204 total, 987204 free, 105204 used, 948796 buff/cache
KiB Swap: 1048572 total, 1048572 free, 0 used. 1830204 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 159444 6604 3904 S 0.0 0.3 0:06.35 /sbin/init splash
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 [kthreadd]
3 root 20 0 0 0 0 S 0.0 0.0 0:00.85 [ksoftirqd/0]
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [kworker/0:0H]
7 root 20 0 0 0 0 S 0.0 0.0 0:03.78 [rcu_sched]
123 root 20 0 278532 37888 26976 S 0.0 1.9 0:03.45 /usr/bin/dockerd -H fd://
456 www-data 20 0 161916 6412 2680 S 0.0 0.3 0:00.01 /usr/sbin/apache2 -k start
De första raderna ger en sammanfattning av systemet, inklusive aktuell tid, hur länge systemet har körts, antalet användare, belastningsmedelvärde och minnesanvändning.
Varje efterföljande rad representerar en enda process, med olika data om varje process. Detta inkluderar process-ID (PID), processägarens användare, prioritet (PR) och trevliga värden (NI), minnesanvändning (VIRT, RES, SHR), aktuellt tillstånd (S), CPU-användning (% CPU) . , minnesanvändning (%MEM), tid som processen har körts (TIME+) och hela kommandoraden (COMMAND).
Alternativet -c visar hela kommandoraden som används för att starta varje process. Till exempel, för PID 1, är kommandot /sbin/init splash. För PID 123 är kommandot /usr/bin/dockerd -H fd://. Detta kan vara användbart för att se exakt vilka parametrar som skickades till en process.
5. Aktivera felsäkert läge
top -s
Alternativet -s används för drift i säkert läge. I säkert läge är vissa potentiellt skadliga interaktiva kommandon inaktiverade. Detta är särskilt användbart när systemadministratörer kör topp i en miljö där de vill begränsa vad användare kan göra.
Exempel:
Nedan är ett exempel på hur du kan använda alternativet -s i detta sammanhang:
top -s 5
Detta kommando startar från toppen och uppdaterar skärmen var 0,5 sekund.
6. Ställ in fördröjningstiden för skärmuppdateringar
top -d [seconds]
Alternativet -d används för att ange fördröjningstiden mellan skärmuppdateringar eller, med andra ord, uppdateringsfrekvensen. Som standard uppdateras toppen var 3,0:e sekund, men med alternativet -d kan du ställa in det på vilket intervall du vill.
Exempel:
Ange siffran 20 efter alternativet -d för att uppdatera utdata var 20:e sekund.
top -d 20
7. Ställ in antalet iterationer.
top -n [number]
top -n uppdaterar visningen av toppkommandot n gånger och avslutar sedan. Detta kan vara användbart om du vill ta en snabb ögonblicksbild av systemet med jämna mellanrum.
