HTOP

HTOP Process Viewer

Figuur 1. $ htop

Mensen die al bekend zijn met Linux zullen het programma TOP zeker kennen, top is een zogenaamde "Process Viewer" en laat oa. zien welke processen er door welke gebruiker gebruikt worden en hun "belasting" op het systeem.

Een alternatief voor top is htop, het is vergelijkbaar met top maar heeft de mogelijkheid om zowel horizontaal als verticaal te "scrollen" waardoor je alle processen op het systeem kunt zien (niet enkel deze die het systeem zwaar belasten zoals top) samen met hun volledige commando-regel, ze te zien als "commando-boom" waardoor je meerdere processen tegelijk kunt selecteren en acties ondernemen zoals ze allemaal in één keer sluiten. En taken zoals KILL en RENICE kunnen uitgevoerd worden op processen zonder hun PID (ProcessID) in te moeten geven.

wat laat HTOP allemaal zien?

  • Het aantal processoren en hun belasting (in mijn geval 4 cores, met weinig belasting).
  • Het gebruik van het RAM geheugen (in mijn geval dus zo goed als alles).
  • Het gebruik van de SWAP partitie (virtueel geheugen).
  • Het aantal actieve taken en het aantal "threads".
  • Gemiddelde belasting van het systeem.
  • Uptime of hoelang het systeem actief is, (bij een server kan dit enorm lang zijn, maar aangezien ik mijn Laptop 's avonds uitzet kom ik zelf zelden over de 24 uur, maar nu toch al 19 uur).
Verder per proces de volgende informatie:
  • PID: Process ID.
  • USER: De gebruiker waaronder het process draait.
  • PRI: Prioriteit van het proces.
  • NI: Nice Value (varieert tussen 19 lage prioriteit tot -20 hoge prioriteit).
  • VIRT: Grootte van het "Virtuele Geheugen" van een proces.
  • RES: "Resident Set" of Hoeveelheid gebruikte fysieke geheugen (tekst + gegevens + stack).
  • SHR: De grootte van de door het proces gedeelde pagina's S: Status: (S=Slapen, R=draaiend, D="Disk Sleep" kan niet onderbroken worden, Z=Zombie, T=Traced of Suspended (bijv. SIGTSTP), W=paging).
  • CPU%: Percentage van het gebruik van de processor.
  • MEM%: Percentage van het gebruik van het geheugen.
  • TIME+: De tijd (gemeten in klok tikken) waarin het proces systeem en gebruikers tijd gebruikt heeft.
  • COMMAND: Het commando waarmee het proces gestart is.
  • Er zijn er nog meer (zie man htop) voor meer informatie, maar dit zijn de standaard categorieën.

Omdat htop op mijn Debian installatie niet standaard geïnstalleerd is, gaan we dat eerst doen. Bij Debian of op Debian gebaseerde Distributies (zoals Ubuntu en Linux Mint) doen we dat met "$ sudo apt install htop", bij een andere distributie gebruik je het pakketbeheerprogramma van deze distributies (bijv. YUM op CentOS 7).

Na de installatie kunnen we htop opstarten, met verschillende opties zoals :
  • -C (hoofdletter c) : HTOP start op zonder kleuren te gebruiken.
  • -d : stel vertraging in (in tienden van seconden) tussen de updates in HTOP
  • -p : Laat enkel een bepaald proces zien (na -p geef je het PID van dat proces in).
  • -u : Laat enkel de processen zien van een bepaalde gebruiker.
  • -h : Toon help voor het programma.
  • met q sluit je het programma af, en met ESC ga je uit bepaalde menu's

Hier is een voorbeeld van htop gestart met op -p optie: "$ htop -p 25498

Figuur 2. $ htop -p 25498

Hier met enkel de processen van gebruiker pkox: $ htop -u pkox

Figuur 3. $ htop -u pkox

En een voorbeeld van HTOP gestart met de -C optie: $ htop -C

Figuur 4. $ htop -C

Als htop eenmaal actief is kunnen we "interactieve" commando's gebruiken. Zoals.

Navigeer omhoog en omlaag met de pijltjestoetsen of ALT+k (omhoog), ALT+j (omlaag), ALT+h (links) en ALT+l (rechts) PgUp/PgDn: scroll op- en neer tussen de lijst van processen HOME: Ga naar de top van de processenlijst END: Ga naar de bodem van de processenlijst SPATIE: Markeer of on-markeer een proces U (hoofdletter u): on-markeer alle gemarkeerde processen u (kleine letter): Kies een gebruiker wiens processen je wilt weergeven. s: traceer "System Calls" van een proces (indien strace geïnstalleerd is) l: toon alle open bestanden van een proces.

met de u optie kies je een gebruiker:

Figuur 5. $ htop u

En met s traceer je de System Calls:

Figuur 6. $ htop s

l toont de open bestanden voor een proces:

Figuur 7. $ htop l
Enkele andere opties zijn:
  • F1 of h: Hulp.
  • F2 of S : Setup (Stel oa. de meters bovenaan het scherm in).
  • F3 of / : Oplopend zoeken in de commando-regel van alle weergegeven processen.
  • F4 of \ : Oplopend processen filteren.
  • F5 of t : Boom (tree) weergave.
  • F6 sorteren, kies een veld om op te sorteren.
  • F7 of ] : Verhoog de prioriteit van het geselecteerde proces (trekt af van de NICE waarde) Dit werkt enkel met root privileges (sudo htop).
  • F8[ : Verlaag de prioriteit van het geselecteerde proces (voeg toe aan de NICE waarde).
  • F9 of k : "Kill" een proces (sluit het af).
  • 10 of q : Sluit HTOP af.
  • F11 Keer het sorteren om bijv. van oplopend naar aflopend.
  • 12+, - : in Boom modus toon of verberg "subtree"

Enkele schermafbeelding:

met de S optie stellen we de meters bovenaan het scherm in:

Figuur 8. $ htop S

Met F3 of / zoeken naar htop:

Figuur 9. $ htop F3

Met F4 of \ filteren op een proces (htop):

Figuur 10. $ htop F4

Boom weergave met F5 of t:

Figuur 11. $ htop F5

Sorteren op NICE waarde:

Figuur 12. $ htop F7
Nog méér Interactieve opties (sommige van deze opties kunnen ook bij het opstarten van htop als parameter worden meegegeven, deze staan bovenaan vermeld) :
  • a : Stel CPU affiniteit in (welke CPU een proces mag gebruiken bij "Multi-Processor Systemen)
  • u : Toon enkel processen eigendom van een bepaalde gebruiker
  • M : Sorteer op geheugengebruik
  • P : Sorteer op processorgebruik
  • T: Sorteer op tijd

Kies welke Proces(s)or(en) een proces mag gebruiken:

Figuur 13. $ htop a

Met M sorteren we op geheugen gebruik:

Figuur 14. $ htop M

Sorteren op processorgebruik met P:

Figuur 15. $ htop P

Voor een volledige lijst met opties kun je altijd de manpages en/of infopages raadplegen.