Prestatie

Monitor Schijf I/O met iotop in Linux

Monitor Schijf I/O met iotop in Linux
Op Linux-servers zijn veel processen actief en elk van deze processen voert een aantal I/O-bewerkingen uit. Deze processen verbruiken dus de bandbreedte van de opslagschijf.

We kunnen het htop-commando gebruiken om een ​​lijst te zien van alle lopende processen van onze Linux-server. Maar wat als we willen controleren hoeveel schijfbandbreedte elk van deze processen verbruikt?? Nou, we kunnen iotop gebruiken.

iotop is een interactieve I/O-monitoringtool op Linux, net als htop. Met iotop kunt u eenvoudig het schijflees- en schrijfbandbreedtegebruik controleren voor elke bewerking die wordt verwerkt op Linux.

In dit artikel laat ik je zien hoe je iotop installeert op populaire Linux-distributies en hoe je iotop gebruikt om het lees- en schrijfbandbreedtegebruik per lopend proces te controleren. Ik zal Ubuntu 18 . gebruiken.04 LTS voor de demonstratie, maar dezelfde commando's zouden moeten werken op alle moderne Linux-distributies. Dus laten we beginnen.

iotop installeren op Ubuntu:

iotop is beschikbaar in de officiële pakketrepository van Ubuntu. U kunt iotop dus eenvoudig downloaden met behulp van de APT-pakketbeheerder.

Werk eerst de cache van de APT-pakketrepository bij met de volgende opdracht:

$ sudo apt-update

Installeer nu iotop met de volgende opdracht:

$ sudo apt install iotop

iotop moet worden geïnstalleerd.

Controleer nu of iotop werkt met de volgende opdracht:

$ iotop --versie

iotop werkt zoals je kunt zien.

iotop installeren op CentOS 7:

iotop is beschikbaar in de officiële pakketrepository van CentOS 7. Je kunt het als volgt eenvoudig installeren met de YUM-pakketbeheerder:

$ sudo yum installeer iotop -y

Basisgebruik van iotop:

Om het schijfgebruik van elk lopend proces met iotop te controleren, voert u iotop als volgt uit:

$ sudo iotop

Zoals u kunt zien, is het interactieve venster van iotop geopend. Hier kunt u zien welk proces de schijf gebruikt.

Zoals je kunt zien op de onderstaande schermafbeelding, wordt in de linkerbovenhoek de totale leessnelheid/bandbreedte van de schijf weergegeven. Op dezelfde manier wordt in de rechterbovenhoek de totale schrijfsnelheid/bandbreedte van de schijf weergegeven.

Zoals u kunt zien, geeft iotop kolommen weer voor:,

In de meeste gevallen is de Thread ID (TID) gelijk aan Process ID (PID).

Processen weergeven die alleen I/O-bewerkingen uitvoeren:

Standaard toont iotop alle lopende processen, of ze nu I/O-bewerkingen uitvoeren of niet. Dus de lijst is erg lang. Het is moeilijker om de processen die we nodig hebben te vinden en te controleren.

Gelukkig kun je met iotop alleen de processen weergeven die I/O-bewerkingen uitvoeren. Om dat te doen, kunt u de -O of -enkel en alleen optie van iotop.

Om alleen de processen weer te geven die I/O-bewerkingen uitvoeren, voert u iotop als volgt uit:

$ sudo iotop -o

Of

$ sudo iotop --alleen

Zoals u kunt zien, voert het proces met TID 1345 en 1957 momenteel I/O-bewerkingen uit.

Dit is de opdracht die ik gebruik om I/O-bewerkingen in dit artikel te simuleren.

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

OPMERKING: Als je iotop nog niet bent begonnen met de -O of -enkel en alleen optie, kunt u nog steeds naar deze modus overschakelen door op de O toets op je toetsenbord. U kunt schakelen tussen deze 2 iotop-modi met behulp van de O sleutel.

Totaal I/O-gebruik per proces weergeven:

Met iotop kunt u ook controleren hoeveel schijflees- en schijfschrijfbewerkingen in totaal elk proces heeft gedaan nadat iotop ook is gestart. Om dat te doen, moet u de -een of -geaccumuleerd keuze. Je kunt het ook gebruiken met de -O of -enkel en alleen optie ook.

Bijvoorbeeld,

$ sudo iotop -ao

Zoals u kunt zien, wordt het totale aantal lees- en schrijfbewerkingen per proces weergegeven.

PID weergeven in plaats van TID:

Zoals ik eerder heb aangegeven, is Thread ID (TID) meestal hetzelfde als Process ID (PID). Je kunt deze door elkaar gebruiken. Maar als je er echt zeker van wilt zijn dat je met exact process ID (PID) werkt, dan heeft iotop de -P of -processen optie die u kunt gebruiken om de standaard TID-kolom te wijzigen in PID-kolom.

Om de PID-kolom in plaats van de TID-kolom weer te geven, voert u iotop als volgt uit:

$ sudo iotop -P

Of

$ sudo iotop --processen

Zoals u kunt zien, is de TID-kolom vervangen door de PID-kolom.

Iotop-processen filteren:

U kunt iotop-processen filteren op basis van proces-ID (PID), thread-ID (TID) en de verwerkte eigenaar (USER).

Als u bijvoorbeeld de schijf-I/O van de processen alleen met de PID 2024 en 2035 wilt bewaken, voert u iotop als volgt uit:

$ sudo iotop -P -p 2024 -p 2035

Zoals u kunt zien, worden alleen de processen met de PID 2024 en 2035 gecontroleerd.

Als u de schijf-I/O van de threads alleen met de TID 2024 en 2035 wilt bewaken, voert u iotop als volgt uit:

$ sudo iotop -P -p 2024 -p 2035

Nogmaals, laten we zeggen dat u de schijf-I/O wilt bewaken van de processen die als gebruiker worden uitgevoerd sjovon. Om dat te doen, voert u iotop als volgt uit:

$ sudo iotop -P -u shovon

Zoals u kunt zien, worden alleen de processen uitgevoerd als de gebruiker sjovon is uitgestald.

Als je meerdere gebruikers tegelijk wilt monitoren, kan dat ook.

Om bijvoorbeeld schijf-I/O te bewaken van alle processen die de gebruikers sjovon en lelie worden uitgevoerd, voert u iotop als volgt uit:

$ sudo iotop -P -u shovon -u lily

Dus dat is eigenlijk hoe je iotop gebruikt om schijf-I/O in Linux te controleren. Bedankt voor het lezen van dit artikel.

Hoe de GameConqueror Cheat Engine in Linux te gebruiken
Het artikel bevat een handleiding over het gebruik van de GameConqueror cheat-engine in Linux. Veel gebruikers die games op Windows spelen, gebruiken ...
Beste gameconsole-emulators voor Linux
Dit artikel bevat een lijst van populaire emulatiesoftware voor gameconsoles die beschikbaar is voor Linux. Emulatie is een softwarecompatibiliteitsla...
Beste Linux-distributies voor gaming in 2021
Het Linux-besturingssysteem heeft een lange weg afgelegd van zijn oorspronkelijke, eenvoudige, servergebaseerde uiterlijk. Dit besturingssysteem is de...