Windows内核中的一些概念与Linux中的概念有很大不同,这就是为什么在Perfmon中没有看到iowait计数器的原因.
首先,Windows中的调度实体是一个线程,而不是一个进程.进程只是1个线程的容器.此外,Windows没有为其线程定义不间断的睡眠状态(更准确地说,所有I / O请求都可以被中断 – 例如,由同一进程的另一个线程中断),因此在Windows平台上不存在确切的iowait对应物. Windows将线程等待同步I / O的时间报告为“空闲”,因为一旦发出同步I / O请求,调度程序就会对线程进行上下文切换.
如果您对在特定设备上进行I / O操作所花费的总时间感兴趣,则应该查看latency-related counters以及在此时间段内处理的相应请求的数量.但是,这不允许您在同步和异步访问模式中将其分解.