it-swarm.com.de

Warum wird der größte Teil der Festplatte IO jbd2 und nicht dem Prozess zugeordnet, der die E / A tatsächlich verwendet)?

Bei der Überwachung der Festplatten-E/A wird der größte Teil des IO jbd2 zugeordnet, während dem ursprünglichen Prozess, der das hohe IO verursacht hat, ein viel niedrigerer IO Prozentsatz zugewiesen wird. Warum?

Hier ist die Beispielausgabe von iotop (andere Prozesse mit IO <1% weggelassen):

(enter image description here

19
Sparkler

jbd2 ist ein Kernel-Thread, der das Dateisystemjournal aktualisiert.

Die Verfolgung der Dateisystem- oder Festplattenaktivität mit dem Prozess, der sie verursacht hat, ist schwierig, da die Aktivitäten vieler Prozesse miteinander kombiniert werden. Wenn beispielsweise zwei Prozesse gleichzeitig aus derselben Datei lesen, für welchen Prozess wird der Lesevorgang berücksichtigt? Wenn zwei Prozesse in dasselbe Verzeichnis schreiben und das Verzeichnis nur einmal auf der Festplatte aktualisiert wird (Kombination der beiden Vorgänge), für welchen Prozess wird der Schreibvorgang berücksichtigt?

In Ihrem Fall scheint der größte Teil des Datenverkehrs aus Aktualisierungen des Journals zu bestehen. Dies wird auf den Journal-Updater zurückgeführt, es gibt jedoch keine Rückverfolgung zwischen Journal-Aktualisierungen und den Prozessen, die die Schreibvorgänge verursacht haben, für die diese Journal-Aktualisierung erforderlich war.