Podczas monitorowania IO dysku większość IO jest przypisywana do jbd2, podczas gdy oryginalny proces, który spowodował wysokie IO, jest przypisywany znacznie niższemu procentowi IO. Dlaczego?
Oto iotop
przykładowy wynik (inne procesy z pominiętym IO <1%):
data=journal
?Odpowiedzi:
jbd2
jest wątkiem jądra, który aktualizuje dziennik systemu plików.Śledzenie aktywności systemu plików lub dysku za pomocą procesu, który go spowodował, jest trudne, ponieważ działania wielu procesów są ze sobą połączone. Na przykład, jeśli dwa procesy odczytują jednocześnie z tego samego pliku, który proces zostanie uwzględniony? Jeśli dwa procesy zapisują do tego samego katalogu, a katalog jest aktualizowany na dysku tylko raz (łącząc dwie operacje), to który proces zostałby uwzględniony?
W twoim przypadku wydaje się, że większość ruchu składa się z aktualizacji dziennika. Jest to śledzone przez aktualizator dziennika, ale nie ma śledzenia między aktualizacjami dziennika a procesami, które spowodowały operacje zapisu, które wymagały aktualizacji dziennika.
źródło
jbd2
po prostu kontynuuje wykonywanie wielu operacji we / wy z własnym priorytetem we / wy.