Ini berarti menunggu "File I / O", artinya, setiap panggilan baca / tulis pada file yang ada di sistem file yang di-mount, tetapi juga mungkin menghitung waktu menunggu untuk bertukar atau meminta memuat halaman ke dalam memori, mis. Perpustakaan tidak dalam memori, atau halaman file mmap () yang tidak ada dalam ram.
Ini TIDAK menghitung waktu yang dihabiskan menunggu objek IPC seperti soket, pipa, ttys, pilih (), polling (), sleep (), pause () dll.
Pada dasarnya ini saatnya thread menghabiskan menunggu disk-IO sinkron - selama ini secara teoritis dapat berjalan tetapi tidak bisa karena beberapa data yang dibutuhkan belum ada. Proses seperti itu biasanya muncul dalam keadaan "D" dan berkontribusi pada rata-rata beban kotak.
Secara membingungkan saya pikir ini mungkin termasuk file IO pada sistem file jaringan.
waktu iowait adalah jumlah waktu yang dihabiskan suatu proses dalam penjadwal I / O kernel. Sejauh yang saya tahu, ini tidak ada hubungannya dengan jaringan I / O sejauh koneksi soket biasa pergi. Namun, itu akan termasuk waktu yang dihabiskan untuk menunggu sistem file jaringan seperti NFS.
sumber
Itu benar.
Kebetulan, salah satu server yang saya kelola mengalami iowait tinggi yang disebabkan oleh NFS mount yang buruk.
Dan lihatlah proses di
D
negara bagian.sumber
Iowait termasuk panggilan jaringan. Saya mengatakan ini, karena NFS ditangani sebanyak sistem berkas lokal linux dari sudut pandang kernel:
Ketika proses memanggil tulis pada file descriptor 5, sesuatu seperti ini akan terjadi:
Jadi, prosesnya tidak tahu jenis filesystem apa yang digunakan (vfs magic) dan iowait sama dengan sistem file lokal.
sumber