iowait 是否包括等待网络调用的时间?

Ale*_*x J 23 linux unix iowait

proc(5)手册页介绍IOWAIT为“为IO,完成时间的等待”。这主要在之前的问题中得到了解释。我的问题是:在等待阻塞 IO 时,这包括等待阻塞网络 IO 还是仅本地 IO?

Mar*_*rkR 23

这意味着等待“文件 I/O”,也就是说,对挂载的文件系统中的文件进行任何读/写调用,但也可能计算等待换入或按需加载页面到内存中的时间,例如库在内存中,或不在 ram 中的 mmap() 文件页。

它不计算等待 IPC 对象(例如套接字、管道、tty、select()、poll()、sleep()、pause() 等所花费的时间。

基本上是线程等待同步磁盘 IO 的时候了——在此期间,它理论上可以运行但不能运行,因为它需要的一些数据还不存在。此类进程通常以“D”状态出现,并有助于框的平均负载。

令人困惑的是,我认为这可能包括网络文件系统上的文件 IO。