Oznacza czekanie na „File I / O”, to znaczy każde wywołanie odczytu / zapisu dla pliku znajdującego się w zamontowanym systemie plików, ale prawdopodobnie również liczy czas oczekiwania na zamianę lub załadowanie stron do pamięci, np. Biblioteki nie w pamięci lub strony plików mmap (), których nie ma w ram.
NIE liczy czasu spędzonego na oczekiwaniu na obiekty IPC, takie jak gniazda, potoki, tty, select (), poll (), sleep (), pause () itp.
Zasadniczo nadszedł czas, aby wątek czekał na synchroniczne we / wy dysku - w tym czasie teoretycznie jest on w stanie działać, ale nie może, ponieważ niektórych potrzebnych danych jeszcze nie ma. Takie procesy zwykle pojawiają się w stanie „D” i przyczyniają się do średniej obciążenia skrzynki.
Mylące wydaje mi się, że prawdopodobnie dotyczy to we / wy plików w sieciowych systemach plików.
czas iowait to czas, jaki proces spędza w harmonogramie we / wy jądra. O ile mi wiadomo, nie ma to nic wspólnego z I / O sieci, o ile idą zwykłe połączenia gniazd. Będzie to jednak obejmować czas oczekiwania na sieciowe systemy plików, takie jak NFS.
źródło
To robi.
Nawiasem mówiąc, na jednym z zarządzanych przeze mnie serwerów występuje wysoki poziom oczekiwania, spowodowany złym podłączeniem NFS.
I spójrz na procesy w
D
państwie.źródło
Iowait obejmuje połączenia sieciowe. Mówię to, ponieważ NFS jest obsługiwany przez wiele lokalnych systemów plików Linux z punktu widzenia jądra:
Gdy procesy wywołają deskryptor zapisu w pliku 5, wydarzy się coś takiego:
Tak więc procesy nie wiedzą, jakiego systemu plików używa (magia vfs), a iowait jest taki sam jak w lokalnym systemie plików.
źródło