Prestanda

Övervaka Disk I / O med iotop i Linux

Övervaka Disk I / O med iotop i Linux
På Linux-servrar har du många processer som körs och var och en av dessa processer gör några I / O-operationer. Så dessa processer förbrukar lagringsdiskens bandbredd.

Vi kan använda htop-kommandot för att se en lista över alla körprocesser på vår Linux-server. Men vad händer om vi vill övervaka hur mycket skivbandbredd var och en av dessa processer förbrukar? Vi kan använda iotop.

iotop är ett interaktivt I / O-övervakningsverktyg på Linux precis som htop. Med iotop kan du enkelt övervaka diskavläsnings- och skrivbandbreddsanvändning för varje körning som behandlas på Linux.

I den här artikeln ska jag visa dig hur du installerar iotop på populära Linux-distributioner och hur du använder iotop för att övervaka diskläsning och skrivning av bandbreddsanvändning per pågående process. Jag kommer att använda Ubuntu 18.04 LTS för demonstrationen, men samma kommandon borde fungera på alla moderna Linux-distributioner. Så, låt oss komma igång.

Installera iotop på Ubuntu:

iotop finns tillgängligt i det officiella paketförvaret för Ubuntu. Så du kan enkelt ladda ner iotop med hjälp av APT-pakethanteraren.

Uppdatera först APT-paketets förvarscache med följande kommando:

$ sudo apt uppdatering

Installera nu iotop med följande kommando:

$ sudo apt installera iotop

iotop ska installeras.

Kontrollera nu om iotop arbetar med följande kommando:

$ iotop --version

iotop fungerar som du kan se.

Installera iotop på CentOS 7:

iotop finns i det officiella paketförvaret för CentOS 7. Du kan enkelt installera det med YUM-pakethanteraren enligt följande:

$ sudo yum install iotop -y

Grundläggande användning av iotop:

För att övervaka diskanvändningen för varje körningsprocess med iotop, kör du iotop enligt följande:

$ sudo iotop

Som du kan se öppnas det interaktiva iotop-fönstret. Här kan du se vilken process som använder skivan.

Som du kan se på skärmdumpen nedan, uppe till vänster visas den totala diskhastigheten / bandbredden. På samma sätt visas den totala diskhastigheten / bandbredden uppe till höger.

Som du kan se visar iotop kolumner för,

I de flesta fall motsvarar tråd-ID (TID) process-ID (PID).

Visa processer som endast gör I / O-åtgärder:

Som standard visar iotop alla pågående processer om de gör I / O-operationer eller inte. Så listan är väldigt lång. Det är svårare att hitta de processer vi behöver och övervaka dem.

Lyckligtvis låter iotop dig bara visa de processer som gör I / O-operationer. För att göra det kan du använda -o eller -endast alternativet till iotop.

För att endast visa de processer som gör I / O-operationer kör du iotop enligt följande:

$ sudo iotop -o

Eller

$ sudo iotop - bara

Som du kan se gör processen med TID 1345 och 1957 I / O-operationer just nu.

Detta är kommandot som jag kör för att simulera I / O-operationer i den här artikeln.

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

NOTERA: Om du inte har börjat iotop med -o eller -endast alternativet kan du ändå växla till detta läge genom att trycka på o på tangentbordet. Du kan växla mellan dessa två lägen av iotop med o nyckel-.

Visar totalt I / O-användning per process:

iotop låter dig också övervaka hur mycket diskavläsningar och diskskrivningar totalt har gjort varje process efter att iotop startat också. För att göra det måste du använda -a eller -ackumulerade alternativ. Du kan också använda den med -o eller -endast alternativ också.

Till exempel,

$ sudo iotop -ao

Som du kan se visas den totala diskavläsningen och diskskrivningen per process.

Visar PID istället för TID:

Som jag har sagt tidigare är Thread ID (TID) detsamma som Process ID (PID) för det mesta. Du kan använda dessa omväxlande. Men om du verkligen vill vara säker på att du arbetar med exakt process-ID (PID), så har iotop den -P eller -processer alternativ som du kan använda för att ändra standard TID-kolumnen till PID-kolumnen.

För att visa PID-kolumn istället för TID-kolumn, kör iotop enligt följande:

$ sudo iotop -P

Eller

$ sudo iotop - processer

Som du kan se ersätts TID-kolumnen med PID-kolumnen.

Filtrera iotop-processer:

Du kan filtrera iotop-processer baserat på process-ID (PID), tråd-ID (TID) och den bearbetade ägaren (USER).

Om du till exempel vill övervaka disk-I / O för processerna med PID 2024 och 2035, skulle du köra iotop enligt följande:

$ sudo iotop -P -p 2024 -p 2035

Som du kan se är det bara processerna med PID 2024 och 2035 som övervakas.

Om du bara vill övervaka diskens I / O för trådarna med TID 2024 och 2035 skulle du köra iotop enligt följande:

$ sudo iotop -P -p 2024 -p 2035

Återigen, låt oss säga att du vill övervaka disk-I / O för de processer som körs som användare shovon. För att göra det, kör iotop enligt följande:

$ sudo iotop -P -u shovon

Som du kan se är bara de processer som körs som användare shovon visas.

Om du vill övervaka flera användare samtidigt kan du också göra det.

Till exempel för att övervaka disk I / O för alla processer som användarna shovon och lilja kör, kör iotop enligt följande:

$ sudo iotop -P -u shovon -u lilja

Så det är i princip hur du använder iotop för att övervaka disk I / O i Linux. Tack för att du läste den här artikeln.

Hur man förbättrar FPS i Linux?
FPS står för Bildrutor per sekund. FPS: s uppgift är att mäta bildfrekvensen i videouppspelningar eller spelprestanda. Med enkla ord betecknas antalet...
De bästa Oculus App Lab-spelen
Om du är Oculus-headsetägare måste du vara förtjust i sidoladdning. Sideladdning är processen för att installera icke-butiksinnehåll på ditt headset. ...
Topp 10 spel att spela på Ubuntu
Windows-plattformen har varit en av de dominerande plattformarna för spel på grund av den enorma andelen spel som utvecklas idag för att stödja Window...