Vi kan bruge htop-kommandoen til at se en liste over alle kørende processer på vores Linux-server. Men hvad nu hvis vi vil overvåge, hvor meget diskbåndbredde hver af disse processer bruger? Vi kan bruge iotop.
iotop er et interaktivt I / O-overvågningsværktøj på Linux ligesom htop. Med iotop kan du nemt overvåge disklæsning og skrivning af båndbreddeforbrug for hver kørsel, der behandles på Linux.
I denne artikel vil jeg vise dig, hvordan du installerer iotop på populære Linux-distributioner, og hvordan du bruger iotop til at overvåge disklæsning og skrivning af båndbredde pr. Kørende proces. Jeg bruger Ubuntu 18.04 LTS til demonstrationen, men de samme kommandoer skal fungere på enhver moderne Linux-distribution. Så lad os komme i gang.
Installation af iotop på Ubuntu:
iotop er tilgængelig i Ubuntu's officielle pakkeopbevaring. Så du kan nemt downloade iotop ved hjælp af APT-pakkehåndteringen.
Opdater først APT-pakkeopbevaringscachen med følgende kommando:
$ sudo apt opdatering
Installer nu iotop med følgende kommando:
$ sudo apt installere iotop
iotop skal installeres.
Kontroller nu, om iotop arbejder med følgende kommando:
$ iotop - versioniotop fungerer som du kan se.
Installation af iotop på CentOS 7:
iotop er tilgængelig i CentOS 7's officielle pakkeopbevaring. Du kan nemt installere det med YUM-pakkehåndteringen som følger:
$ sudo yum installer iotop -y
Grundlæggende brug af iotop:
For at overvåge diskbrugen af hver kørende proces med iotop skal du køre iotop som følger:
$ sudo iotop
Som du kan se, åbnes det interaktive iotop-vindue. Her kan du se, hvilken proces der bruger disken.
Som du kan se på skærmbilledet nedenfor vises den samlede diskhastighed / båndbredde øverst til venstre. På samme måde vises den samlede diskhastighed / båndbredde øverst til højre.
Som du kan se, viser iotop kolonner til,
- Tråd-ID (TID).
- I / O Prioritetsklasse / niveau (PRIO).
- ejeren af tråden med TID (BRUGER).
- disken læses pr. sekund (LÆS DISK).
- disken skriver per sekund (DISK SKRIV).
- procentdelen af den tid, tråden tilbragte, mens han skiftede ind (SWAPIN).
- procentdelen af den tid, tråden brugte på at vente på I / O (IO>).
- kommandoen, som tråden kører (KOMMANDO).
I de fleste tilfælde svarer thread ID (TID) til Process ID (PID).
Visning af processer, der kun udfører I / O-handlinger:
Som standard viser iotop alle kørende processer, om de laver I / O-operationer eller ej. Så listen er meget lang. Det er sværere at finde de processer, vi har brug for, og overvåge dem.
Heldigvis lader iotop dig kun vise de processer, der udfører I / O-operationer. For at gøre det kan du bruge -o eller -kun mulighed for iotop.
For kun at vise de processer, der udfører I / O-operationer, skal du køre iotop som følger:
$ sudo iotop -oEller
$ sudo iotop - kun
Som du kan se, udfører processen med TID 1345 og 1957 I / O-operationer lige nu.
Dette er den kommando, jeg kører for at simulere I / O-operationer i denne artikel.
$ dd hvis = / dev / urandom af = iotest.img bs = 1M antal = 1000
BEMÆRK: Hvis du ikke har startet iotop med -o eller -kun , kan du stadig skifte til denne tilstand ved at trykke på o på tastaturet. Du kan skifte mellem disse 2 tilstande af iotop ved hjælp af o nøgle.
Viser samlet I / O-forbrug pr. Proces:
iotop giver dig også mulighed for at overvåge, hvor meget disk læser og disk skriver i alt, hver proces har gjort, efter at iotop også er startet. For at gøre det skal du bruge --en eller -akkumuleret mulighed. Du kan også bruge den med -o eller -kun mulighed også.
For eksempel,
$ sudo iotop -aoSom du kan se, vises den samlede disklæsning og diskskrivning pr. Proces.
Viser PID i stedet for TID:
Som jeg har nævnt tidligere, er Thread ID (TID) det samme som Process ID (PID) det meste af tiden. Du kan bruge disse om hinanden. Men hvis du virkelig vil være sikker på, at du arbejder med nøjagtigt proces-ID (PID), så har iotop den -P eller -processer mulighed, som du kan bruge til at ændre standard TID-kolonnen til PID-kolonnen.
For at vise PID-kolonne i stedet for TID-kolonne skal du køre iotop som følger:
$ sudo iotop -PEller
$ sudo iotop - processer
Som du kan se, erstattes TID-kolonnen med PID-kolonnen.
Filtrering af iotop-processer:
Du kan filtrere iotop-processer baseret på proces-id (PID), tråd-id (TID) og den behandlede ejer (BRUGER).
Hvis du f.eks. Kun vil overvåge disk I / O for processerne med PID 2024 og 2035, vil du køre iotop som følger:
$ sudo iotop -P -p 2024 -p 2035
Som du kan se, overvåges kun processerne med PID 2024 og 2035.
Hvis du kun vil overvåge disk I / O for trådene med TID 2024 og 2035, kører du iotop som følger:
$ sudo iotop -P -p 2024 -p 2035Lad os igen sige, at du vil overvåge disk I / O for de processer, der kører som brugeren shovon. For at gøre det skal du køre iotop som følger:
$ sudo iotop -P -u shovon
Som du kan se, er kun de processer, der kører som bruger shovon vises.
Hvis du vil overvåge flere brugere på én gang, kan du også gøre det.
For eksempel at overvåge disk I / O af alle de processer, som brugerne shovon og lilje kører, kør iotop som følger:
$ sudo iotop -P -u shovon -u liljeSå det er dybest set, hvordan du bruger iotop til at overvåge disk I / O i Linux. Tak, fordi du læste denne artikel.