Windows“ iowait” CPU利用率报告


9

Windows是否以与Linux相同的方式处理和报告“ iowait”?也就是说,进程进入“不间断睡眠”,并且从“ CPU空闲”中减去所花费的时间?

如果是这样,那么哪个Perfmon计数器适合于检测“由于服务IO延迟而导致cpu繁忙”,而不是“由于计算而导致cpu繁忙”?


这是内核向导。您可能需要查看“ Windows Internals”以获取更详细的图片。
the-wabbit

Answers:


10

Windows内核中的某些概念与Linux中的概念有很大不同,这就是为什么您iowait在Perfmon 中看不到计数器的原因。

首先,Windows中的调度实体是线程,而不是进程。进程只是1个以上线程的容器。此外,Windows并未为其线程定义不间断的睡眠状态(更确切地说,所有I / O请求都可以被中断(例如,被同一进程的另一个线程中断)),因此iowaitWindows平台上没有确切的对应状态。Windows将线程等待同步I / O的时间报告为“空闲”,这是因为线程在发出同步I / O请求后立即由调度程序简单地进行上下文切换。

如果您对在特定设备上进行I / O操作所花费的总时间感兴趣,则应查看与延迟相关的计数器以及在此时间段内处理的各个请求的数量。但是,这不允许您按同步访问模式与异步访问模式将其细分。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.