Top is een process- en resource-monitor die in alle Linux-distro's standaard aanwezig is. Je kunt Top zien als een command-line tegenhanger van de Windows Task Manager, of de Activiteitenweergave in MacOS. In dit artikel laten wij zien hoe Top werkt.
Top starten
Het starten van top is zeer straight forward en doe je via command-line (over SSH of de VPS-console) met het commando:
top
Je krijgt op je VPS een output te zien zoals in het voorbeeld hieronder.
Dit overzicht is opgedeelt in twee delen: het summary-deel (de bovenste 5 regels) en het task-deel (vanaf PID, user etc).
Top summary
Het bovenste deel van de Top output is de 'summary area' en bestaat uit de volgende elementen:
-
system time, uptime, users: Bovenaan links zie je respectievelijk de systeemtijd (die je ook ziet met het 'date'-commando), hoe lang je server up is (i.e. zonder herstart), en het aantal gebruikerssessies. Dit zijn er normaal gesproken 2: 1 voor het systeem zelf en 1 voor je SSH-verbinding (te controleren met het 'who'-commando).
-
load average: Toont respectievelijk de gemiddelde load van je VPS over één, vijf en vijftien minuten. Staat er een load van 0.3 dan betekent dat dat 30% van de CPU-core(s) belast is. De limiet van deze load score is 1 (of 100%) per CPU-core, dus bij een VPS met 2 cores zou bij een belasting 1.40 er nog 60% capaciteit over zijn. Ga je over je totale limiet heen (e.g. een load van 1.2 bij 1 CPU-core)? Dan is er 20% meer werk dan de CPU aan kan.
-
Tasks:Je ziet hier het totaal aantal actieve-, running-, sleeping-, stopped- en zombie-processen. Deze houden het volgende in:
- Totaal: Een optelsom van alle running-, sleeping-, stopped- en zombie-processen
- Running (R): De taak die uitgevoerd wordt door de CPU, of klaar staat om uitgevoerd te worden. In Linux wisselen actieve processen elkaar doorlopend af. Is een proces actief, dan wordt er CPU-werk uitgevoerd. Is een proces inactief (idle) dan wordt I/O-werk op de hardeschijf uitgevoerd.
- Sleeping: Bestaat uit 'Interruptible Sleep (S)' en 'Uninterruptible Sleep (D)'. Respectievelijk wachten deze op een event of een I/O bewerking om te voltooiien.
- Stopped (T): Processen die gestopt zijn door een job control signal (e.g. ctrl + z).
- Zombie (Z): Processen maken soms 'child'-processen. Worden die beëindigd maar niet het 'parent'-proces, dan blijven de data structuren van de 'child'-processen voor de parent in stand in de vorm van een 'zombie'-proces.
-
CPU:Laat zien hoeveel CPU gebruik er plaatsvindt.
- us: Hoeveel tijd de CPU besteed aan user-processen
- sy: Hoeveel tijd de CPU besteed aan kernel-processen
- ni: Staat voor Nice en bepaalt de prioriteit voor CPU-gebruik die processen krijgen. De ni value laat zien hoeveel tijd er aan processen wordt besteed met een handmatig ingestelde nice-waarde.
- id: De hoeveelheid tijd dat de CPU in idle mode staat. Doorgaans betekent idle time ook een lager stroom gebruik.
- wa: De hoeveelheid tijd waarop de CPU wacht op schijf I/O (input/output) om te voltooiien.
- hi: De tijd besteed aan hardware interrupts. Het gaat hier om handelingen van perifere apparaten, zoals een toets indrukken op een toetsenbord.
- si: De tijd besteed aan software interrupts. Deze zijn het gevolg van specifieke software instructies die op de processor uitgevoerd worden en door je OS verwerkt worden.
- st: De hoeveelheid CPU-tijd die beschikbaar is voor virtuele machines. Dit zal altijd 0 zijn omdat virtualisatie op ons VPS-platform uit staat en je dus geen VM op je VPS kunt hosten.
-
Memory:Laten respectievelijk het RAM- en Swap-gebruik zien (Swap-geheugen is een deel van je hardeschijf dat als virtueel RAM gebruikt wordt als je RAM bijna vol belast is).
- De hoeveelheden bij 'total', 'free' en 'used' spreken voor zich.
- Buff/cache: Je RAM houdt een disk cache bij (die geleegd wordt als processen het RAM nodig hebben) waar vaak aangesproken delen van je hardeschijf (cache) en uit te voeren schrijf acties (buff) worden bewaard.
- avail Mem: De hoeveelheid geheugen die beschikbaar is voor het swap-geheugen wordt ingeschakeld.
Top Task area
De 'Task area' toont de volgende informatie van actieve processen:
- PID: Het proces ID, wat een uniek getal is.
- USER: De gebruiker die het proces heeft gestart. De meeste processen die je ziet zullen namens de root-user automatisch gestart zijn met het starten van je OS.
- PR: De scheduling-prioriteit van het proces in de ogen van de Linux-kernel.
- NI: Staat voor 'nice' en geeft processen prioriteit voor CPU-gebruik. -20 is de hoogste prioriteit en 19 de laagste.
- VIRT: Het totale geheugengebruik door een proces en omvat de code van het programma, RAM- en Swap-gebruik
- RES: De hoeveelheid RAM die het proces gebruikt.
- SHR: De hoeveelheid geheugen die met andere processen gedeeld wordt.
- S: De staat die een task heeft (zie tasks)
- %CPU: Percentage van de processor dat gebruikt wordt (je hebt 100% per CPU-core tot je beschikking)
- %MEM: Percentage van het totale RAM-geheugen dat gebruikt wordt
- TIME+: De hoeveelheid CPU-tijd (tot de 100ste seconde) die door het proces gebruikt is sinds het proces actief is.
- COMMAND: De naam van het proces, vaak is dit ook de naam van de bijbehorende service.
Top commando's:
Eenmaal gestart kent top een aantal commando's/toetsencombinaties voor het gebruik:
- Pijltjestoetsen & page up/down: Navigeer door de getoonde lijst in de Task-area.
- q: Sluit top af met de q-toets
- shift + p: Sorteer de processen op CPU-gebruik
- shift + m: Sorteer de processen op geheugen(%MEM)-gebruik
- shift + t: Sorteer de processen op running-time
- shift + n: Sorteer de processen op process-ID
- t: Verandert de weergave van het CPU-gebruik in het summary-deel
- m: Verandert de weergave van het geheugengebruik in het summary-deel
- shift + r: Sorteer de processen oplopend in plaats van aflopend (default)
- c: Door op c te drukken toont de 'Command'-kolom het gehele pad van waaruit de processen zijn gestart.
- shift + v: Toont de parent/child proceshierarchy.
- k: Vraagt om een process-ID en sluit het opgegeven proces af. Standaard wordt SIGTERM gebruikt voor een graceul shutdown van het proces. Voor geforceerd afsluiten gebruik je SIGKILL.
Mocht je aan de hand van dit artikel nog vragen hebben, aarzel dan niet om onze supportafdeling te benaderen. Je kunt hen bereiken via de knop 'Neem contact op' onderaan deze pagina.