Opptreden

Overvåk Disk I / O med iotop i Linux

Overvåk Disk I / O med iotop i Linux
På Linux-servere har du mange prosesser som kjører, og hver av disse prosessene gjør noen I / O-operasjoner. Så disse prosessene bruker lagringsdiskens båndbredde.

Vi kan bruke htop-kommandoen for å se en liste over alle kjørende prosesser på Linux-serveren vår. Men hva om vi vil overvåke hvor mye diskbåndbredde hver av disse prosessene bruker? Vi kan bruke iotop.

iotop er et interaktivt I / O-overvåkingsverktøy på Linux akkurat som htop. Med iotop kan du enkelt overvåke bruk av disklesing og skrivebåndbredde for hver kjøring som behandles på Linux.

I denne artikkelen skal jeg vise deg hvordan du installerer iotop på populære Linux-distribusjoner, og hvordan du bruker iotop til å overvåke disklesing og skriving av båndbredde per kjørende prosess. Jeg skal bruke Ubuntu 18.04 LTS for demonstrasjonen, men de samme kommandoene skal fungere på alle moderne Linux-distribusjoner. Så la oss komme i gang.

Installere iotop på Ubuntu:

iotop er tilgjengelig i det offisielle pakkelageret til Ubuntu. Så du kan enkelt laste ned iotop ved hjelp av APT pakkebehandling.

Oppdater først APT-pakkelagerbufferen med følgende kommando:

$ sudo apt oppdatering

Installer nå iotop med følgende kommando:

$ sudo apt installere iotop

iotop skal installeres.

Sjekk nå om iotop jobber med følgende kommando:

$ iotop - versjon

iotop fungerer som du kan se.

Installere iotop på CentOS 7:

iotop er tilgjengelig i det offisielle pakkelageret til CentOS 7. Du kan enkelt installere den med YUM-pakkebehandling som følger:

$ sudo yum install iotop -y

Grunnleggende bruk av iotop:

For å overvåke diskbruken av hver kjørende prosess med iotop, kjør iotop som følger:

$ sudo iotop

Som du kan se, åpnes det interaktive vinduet iotop. Her kan du se hvilken prosess som bruker disken.

Som du kan se på skjermbildet nedenfor, øverst til venstre, vises den totale diskhastigheten / båndbredden. På samme måte vises den totale diskhastigheten / båndbredden øverst til høyre.

Som du kan se, viser iotop kolonner for,

I de fleste tilfeller tilsvarer tråd-ID (TID) prosess-ID (PID).

Vise prosesser som bare utfører I / U-operasjoner:

Som standard viser iotop alle kjørende prosesser om de gjør I / O-operasjoner eller ikke. Så listen er veldig lang. Det er vanskeligere å finne prosessene vi trenger og overvåke dem.

Heldigvis lar iotop deg bare vise prosessene som gjør I / O-operasjoner. For å gjøre det kan du bruke -o eller -kun alternativet til iotop.

For å bare vise prosessene som gjør I / O-operasjoner, kjør iotop som følger:

$ sudo iotop -o

Eller

$ sudo iotop - bare

Som du ser, gjør prosessen med TID 1345 og 1957 I / O-operasjoner akkurat nå.

Dette er kommandoen jeg kjører for å simulere I / O-operasjoner i denne artikkelen.

$ dd if = / dev / urandom of = iotest.img bs = 1M antall = 1000

MERK: Hvis du ikke har startet iotop med -o eller -kun alternativet, kan du fortsatt bytte til denne modusen ved å trykke på o på tastaturet. Du kan veksle mellom disse to modiene av iotop ved å bruke o nøkkel.

Viser totalt I / U-bruk per prosess:

iotop lar deg også overvåke hvor mye disk som leses og disk skriver totalt hver prosess har gjort etter iotop startet også. For å gjøre det må du bruke -en eller -akkumulert alternativ. Du kan også bruke den med -o eller -kun alternativ også.

For eksempel,

$ sudo iotop -ao

Som du kan se, vises den totale disken og diskskriver per prosess.

Viser PID i stedet for TID:

Som jeg har uttalt tidligere, er Thread ID (TID) det samme som Process ID (PID) mesteparten av tiden. Du kan bruke disse om hverandre. Men hvis du virkelig vil være sikker på at du jobber med nøyaktig prosess-ID (PID), så har iotop den -P eller -prosesser alternativet du kan bruke til å endre standard TID-kolonnen til PID-kolonnen.

For å vise PID-kolonne i stedet for TID-kolonne, kjør iotop som følger:

$ sudo iotop -P

Eller

$ sudo iotop - prosesser

Som du kan se, erstattes TID-kolonnen med PID-kolonnen.

Filtrering av iotop-prosesser:

Du kan filtrere iotop-prosesser basert på prosess-ID (PID), tråd-ID (TID) og den behandlede eieren (BRUKER).

Hvis du for eksempel vil overvåke disk-I / U-prosessen med bare PID 2024 og 2035, vil du kjøre iotop som følger:

$ sudo iotop -P -p 2024 -p 2035

Som du kan se, er det bare prosessene med PID 2024 og 2035 som blir overvåket.

Hvis du bare vil overvåke disk-I / U-en av trådene med TID 2024 og 2035, vil du kjøre iotop som følger:

$ sudo iotop -P -p 2024 -p 2035

La oss si at du vil overvåke disk I / O for prosessene som kjører som bruker shovon. For å gjøre det, kjør iotop som følger:

$ sudo iotop -P -u shovon

Som du kan se, er bare prosessene som kjører som bruker shovon er vist.

Hvis du vil overvåke flere brukere samtidig, kan du gjøre det også.

For eksempel å overvåke disk I / U av alle prosessene som brukerne shovon og lilje kjører, løp iotop som følger:

$ sudo iotop -P -u shovon -u lilje

Så det er i utgangspunktet hvordan du bruker iotop til å overvåke disk I / O i Linux. Takk for at du leser denne artikkelen.

Topp 5 spillfangstkort
Vi har alle sett og elsket streaming av spill på YouTube. PewDiePie, Jakesepticye og Markiplier er bare noen av de beste spillerne som har tjent milli...
Hvordan utvikle et spill på Linux
For et tiår siden ville ikke mange Linux-brukere forutsi at deres favorittoperativsystem en dag ville være en populær spillplattform for kommersielle ...
Åpne kildeporter for kommersielle spillmotorer
Gratis, åpen kildekode og plattformspillmotorrekreasjoner kan brukes til å spille gamle så vel som noen av de ganske nylige spilletitlene. Denne artik...