Significa esperar "E / S de archivo", es decir, cualquier llamada de lectura / escritura en un archivo que está en el sistema de archivos montado, pero también probablemente cuenta el tiempo de espera para intercambiar o cargar páginas en la memoria, por ejemplo, bibliotecas no en memoria todavía, o páginas de archivos mmap () 'd que no están en ram.
NO cuenta el tiempo dedicado a esperar objetos IPC como enchufes, tuberías, ttys, select (), poll (), sleep (), pause () etc.
Básicamente, es hora de que un hilo pase esperando disco-IO síncrono; durante este tiempo es teóricamente capaz de ejecutarse pero no puede porque algunos datos que necesita aún no están allí. Tales procesos generalmente aparecen en estado "D" y contribuyen al promedio de carga de una caja.
Confusamente, creo que esto probablemente incluye el archivo IO en los sistemas de archivos de red.
El tiempo de espera es la cantidad de tiempo que un proceso pasa en el planificador de E / S del núcleo. Hasta donde yo sé, esto no tiene nada que ver con las E / S de red en la medida en que las conexiones de socket regulares van. Sin embargo, incluirá el tiempo dedicado a esperar sistemas de archivos de red como NFS.
fuente
Lo hace.
Por cierto, uno de los servidores que administro está experimentando un alto iowait que es causado por un mal montaje NFS.
Y mira los procesos en el
D
estado.fuente
El iowait incluye las llamadas de red. Digo esto, porque NFS se maneja como muchos sistemas de archivos locales de Linux desde el punto de vista del núcleo:
Cuando los procesos llaman a escribir en el descriptor de archivo 5, sucederá algo como esto:
Entonces, el proceso no sabe qué tipo de sistema de archivos está usando (vfs magic) y el iowait es el mismo para un sistema de archivos local.
fuente