Wir können den Befehl htop verwenden, um eine Liste aller laufenden Prozesse unseres Linux-Servers anzuzeigen. Aber was ist, wenn wir überwachen möchten, wie viel Festplattenbandbreite jeder dieser Prozesse verbraucht?? Nun, wir können iotop verwenden.
iotop ist ein interaktives E/A-Überwachungstool unter Linux, genau wie htop. Mit iotop können Sie die Bandbreitennutzung beim Lesen und Schreiben von Festplatten für jede unter Linux verarbeitete Ausführung einfach überwachen.
In diesem Artikel zeige ich Ihnen, wie Sie iotop auf gängigen Linux-Distributionen installieren und wie Sie iotop verwenden, um die Bandbreitennutzung beim Lesen und Schreiben von Festplatten pro laufenden Prozess zu überwachen. Ich werde Ubuntu 18 verwenden.04 LTS für die Demonstration, aber die gleichen Befehle sollten auf allen modernen Linux-Distributionen funktionieren. Also lasst uns anfangen.
iotop unter Ubuntu installieren:
iotop ist im offiziellen Paket-Repository von Ubuntu verfügbar. So können Sie iotop einfach mit dem APT-Paketmanager herunterladen download.
Aktualisieren Sie zunächst den Cache des APT-Paket-Repositorys mit dem folgenden Befehl:
$ sudo apt-Update
Installieren Sie nun iotop mit dem folgenden Befehl:
$ sudo apt install iotop
iotop sollte installiert sein.
Überprüfen Sie nun, ob iotop mit dem folgenden Befehl funktioniert:
$iotop --versioniotop funktioniert wie du sehen kannst.
Installieren von iotop auf CentOS 7:
iotop ist im offiziellen Paket-Repository von CentOS 7 verfügbar. Sie können es ganz einfach mit dem YUM-Paketmanager wie folgt installieren:
$ sudo yum installiere iotop -y
Grundlegende Verwendung von iotop:
Um die Festplattennutzung jedes laufenden Prozesses mit iotop zu überwachen, führen Sie iotop wie folgt aus:
$ sudo iotop
Wie Sie sehen, wird das interaktive Fenster von iotop geöffnet. Hier können Sie sehen, welcher Prozess die Festplatte verwendet.
Wie Sie auf dem Screenshot unten sehen können, wird oben links die Gesamtlesegeschwindigkeit/Bandbreite der Festplatte angezeigt. Auf die gleiche Weise wird oben rechts die gesamte Schreibgeschwindigkeit/Bandbreite der Festplatte angezeigt.
Wie Sie sehen können, zeigt iotop Spalten für,
- Thread-ID (TID).
- E/A-Prioritätsklasse/-level (PRIO).
- der Besitzer des Threads mit TID (BENUTZER).
- die pro Sekunde gelesene Festplatte (FESTPLATTE LESEN).
- die Festplatte schreibt pro Sekunde (FESTPLATTE SCHREIBEN).
- der Prozentsatz der Zeit, die der Thread beim Einlagern verbracht hat (SWAPIN).
- der Prozentsatz der Zeit, die der Thread mit Warten auf E/A verbracht hat (IO>).
- der Befehl, den der Thread ausführt (BEFEHL).
In den meisten Fällen entspricht die Thread-ID (TID) der Prozess-ID (PID).
Anzeigen von Prozessen, die nur E/A-Operationen ausführen:
Standardmäßig zeigt iotop alle laufenden Prozesse an, unabhängig davon, ob sie E/A-Operationen ausführen oder nicht. Die Liste ist also sehr lang. Es ist schwieriger, die benötigten Prozesse zu finden und zu überwachen.
Glücklicherweise können Sie mit iotop nur die Prozesse anzeigen, die E/A-Operationen ausführen. Dazu können Sie die -Ö oder -nur Option von iotop.
Um nur die Prozesse anzuzeigen, die E/A-Operationen ausführen, führen Sie iotop wie folgt aus:
$ sudo iotop -oOder
$ sudo iotop --nur
Wie Sie sehen können, führt der Prozess mit TID 1345 und 1957 gerade E/A-Operationen durch.
Dies ist der Befehl, den ich ausführe, um E/A-Vorgänge in diesem Artikel zu simulieren.
$ dd if=/dev/urandom of=iotest.img bs=1M count=1000
HINWEIS: Wenn Sie iotop noch nicht mit dem gestartet haben -Ö oder -nur Option können Sie immer noch in diesen Modus wechseln, indem Sie die Taste pressing drücken Ö Taste auf deiner Tastatur. Sie können zwischen diesen 2 Modi von iotop wechseln, indem Sie die Ö Schlüssel.
Gesamte E/A-Nutzung pro Prozess anzeigen:
Mit iotop können Sie auch überwachen, wie viel Festplattenlese- und Festplattenschreibvorgänge insgesamt von jedem Prozess nach dem Start von iotop durchgeführt wurden. Dazu müssen Sie die -ein oder -angesammelt Möglichkeit. Sie können es auch mit dem -Ö oder -nur auch möglichkeit.
Beispielsweise,
$ sudo iotop -aoWie Sie sehen, wird die Gesamtzahl der Lese- und Schreibvorgänge auf der Festplatte pro Prozess angezeigt.
Anzeige von PID statt TID:
Wie ich bereits erwähnt habe, ist die Thread-ID (TID) die meiste Zeit dieselbe wie die Prozess-ID (PID). Sie können diese austauschbar verwenden. Aber wenn Sie wirklich sicher sein wollen, dass Sie mit der exakten Prozess-ID (PID) arbeiten, dann hat iotop die -P oder -Prozesse Option, mit der Sie die Standard-TID-Spalte in die PID-Spalte ändern können.
Um die PID-Spalte anstelle der TID-Spalte anzuzeigen, führen Sie iotop wie folgt aus:
$ sudo iotop -POder
$ sudo iotop --Prozesse
Wie Sie sehen, wird die TID-Spalte durch die PID-Spalte ersetzt.
Filtern von iotop-Prozessen:
Sie können iotop-Prozesse basierend auf der Prozess-ID (PID), der Thread-ID (TID) und dem verarbeiteten Eigentümer (USER) filtern.
Wenn Sie beispielsweise die Festplatten-E/A der Prozesse nur mit der PID 2024 und 2035 überwachen möchten, führen Sie iotop wie folgt aus:
$ sudo iotop -P -p 2024 -p 2035
Wie Sie sehen, werden nur die Prozesse mit der PID 2024 und 2035 überwacht.
Wenn Sie nur die Festplatten-I/O der Threads mit der TID 2024 und 2035 überwachen möchten, würden Sie iotop wie folgt ausführen:
$ sudo iotop -P -p 2024 -p 2035Angenommen, Sie möchten die Festplatten-E/A der Prozesse überwachen, die als Benutzer ausgeführt werden shovon. Führen Sie dazu iotop wie folgt aus:
$ sudo iotop -P -u shovon
Wie Sie sehen, werden nur die Prozesse als Benutzer ausgeführt shovon wird angezeigt.
Wenn Sie mehrere Benutzer gleichzeitig überwachen möchten, können Sie dies auch tun.
Zum Beispiel, um die Datenträger-E/A aller Prozesse zu überwachen, die die Benutzer shovon und Lilie ausgeführt werden, führen Sie iotop wie folgt aus:
$ sudo iotop -P -u shovon -u lilySo verwenden Sie im Grunde iotop, um die Festplatten-E/A unter Linux zu überwachen. Danke, dass du diesen Artikel gelesen hast.