GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So bestimmen Sie, welcher Prozess in Linux auf die Festplatte schreibt

Unter Linux ist es auch möglich, E/A-Statistiken pro Prozess zu erhalten, sodass Sie mit einem Programm namens iotop genau sehen können, wer viel liest und schreibt. iotop muss mit dem Root-Benutzer gestartet werden. Sie können beispielsweise iotop verwenden, um zu erfahren, wie schnell Ihre Festplatte lesen und schreiben kann, und dann zum Beenden die Taste q drücken. Lesen Sie den Handbuchabschnitt zu iotop, um mehr über die Verknüpfungen zu erfahren, beispielsweise zum Sortieren von Spalten.

Um zu sehen, welcher Prozess auf die Festplatte schreibt, können wir den Befehl „iotop“ verwenden, um diese Informationen zu erhalten

# iotop

Es zeigt eine Ausgabe wie im folgenden Beispiel an:

Total DISK READ : 0.00 B/s | Total DISK WRITE : 88.95 M/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 88.95 M/s
  TID PRIO USER DISK READ DISK WRITE SWAPIN IO>    COMMAND
27236 be/4 root 0.00 B/s  88.95 M/s  0.00 % 87.91% dd if=/dev/zero of=test.zero bs=1024k count=1000 oflag=direct conv=notrunc
25600 be/4 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % less -s
    1 be/4 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % systemd --switched-root --system --deserialize 22
    2 be/4 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [kthreadd]
    3 be/4 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [ksoftirqd/0]
    6 be/4 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [kworker/u30:0]
    7 be/4 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [rcu_sched]
    8 be/4 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [rcu_bh]
    9 be/4 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [rcuos/0]
   10 be/4 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [rcuob/0]
   11 rt/4 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [migration/0]
   12 rt/4 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [watchdog/0]
   13 be/0 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [khelper]
   14 be/4 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [kdevtmpfs]
   15 be/0 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [netns]
   16 be/0 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [perf]
   17 be/4 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [xenwatch]
   18 be/4 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [xenbus]
   20 be/4 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [khungtaskd]
   21 be/0 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [writeback]
   22 be/5 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [ksmd]
   23 be/7 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [khugepaged]
   24 be/0 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [crypto]
   25 be/0 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [kintegrityd]
   26 be/0 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [bioset]
   27 be/0 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [kblockd]
   28 be/0 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [md]
   29 be/0 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [devfreq_wq]
   31 be/4 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [kswapd0]
   32 be/4 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % [fsnotify_mark]
 1058 be/4 root 0.00 B/s  0.00 B/s   0.00 % 0.00 % cupsd -f

Von den hier vorgestellten Spalten könnten uns die folgenden interessieren:

  • TID :Diese Spalte enthält die PID des Prozesses, der E/A-Anforderungen stellt. Dies kann verwendet werden, um das Programm zu untersuchen oder zu beenden.
  • DISKETTE LESEN :Diese Spalte zeigt die Anzahl der Bytes, die pro Sekunde vom aufgelisteten Prozess gelesen werden.
  • DISKETTE SCHREIBEN :Diese Spalte gibt die Anzahl der Bytes an, die der aufgelistete Prozess pro Sekunde geschrieben hat.
  • IO :Diese Spalte zeigt den Prozentsatz der Zeit, die der aufgelistete Prozess mit der Ausgabe von E/A-Anforderungen verbracht hat.
  • BEFEHL :Diese Spalte zeigt den Namen des Prozesses, der E/A verarbeitet. Wenn dies ein Master-Prozess ist, kann er auch Befehlszeilenschalter enthalten.

Im obigen Beispiel haben wir in einer anderen ssh-Sitzung einen dd-Test (dd if=/dev/zero of=test.zero bs=1024k count=1000 oflag=direct conv=notrunc) ausgeführt, um die W/R-Aktion anzuzeigen, die auf die Festplatte geht .

Wenn Sie nur die aktuellen Prozesse sehen möchten, die auf die Festplatte schreiben, drücken Sie die Taste „o“ und Sie erhalten eine Ausgabe wie:

Total DISK READ : 0.00 B/s | Total DISK WRITE : 86.90 M/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 86.90 M/s
  TID PRIO USER DISK READ DISK WRITE SWAPIN IO>     COMMAND
27239 be/4 root 0.00 B/s  86.90 M/s  0.00 % 89.17 % dd if=/dev/zero of=test.zero bs=1024k count=1000 oflag=direct conv=notrunc

Im Folgenden sind einige der gebräuchlichsten Optionen aufgeführt, die wir verwenden können:

  • Klicken Sie nach links und rechte Pfeiltasten um die Sortierung zu ändern.
  • Drücken Sie r um die Sortierreihenfolge umzukehren.
  • Drücken Sie o nur um Prozesse oder Threads zu sehen, die tatsächlich E/A ausführen, anstatt alle Prozesse oder Threads anzuzeigen.
  • Drücken Sie p zeigen nur Prozesse. Normalerweise zeigt iotop alle Threads an.
  • Drücken Sie a Anzeige der kumulierten E/A anstelle der Bandbreite. In diesem Modus zeigt iotop die Anzahl der E/A-Prozesse seit dem Start von iotop an.
  • Drücken Sie i um die Priorität eines Threads oder Prozess-Threads zu ändern, z. B. ionice.
  • Drücken Sie q um iotop zu beenden.

Weitere Informationen finden Sie in den Manpages.

# man iotop


Linux
  1. So partitionieren Sie eine Festplatte unter Linux

  2. So installieren Sie vtop unter Linux

  3. Wie kann man feststellen, welcher Prozess eine Datei erstellt?

  4. Wie kann ich unter Linux feststellen, welcher Prozess meinem Prozess ein Signal gesendet hat?

  5. Wie finden Sie heraus, welcher Prozess eine Datei in Linux verwendet?

So erstellen Sie Partitionen unter Linux

So beenden Sie einen Prozess in Linux

So listen Sie Festplattenpartitionen unter Linux auf

Wie man einen Prozess unter Linux beendet

So verschlüsseln Sie eine Partition unter Linux

Wie kann festgestellt werden, was auf einem Linux-Server den meisten Speicherplatz belegt?