我正在寻找一种方法来获取当前的“负载”(如在Unix中: 等待CPU /数据的进程数量 )。 这是可能的吗?
背景:默认情况下,Windows会告诉你CPU的利用率,networkingstream量,内存使用量等等。从性能的angular度来看,这是无用的。 我不在乎,当病毒扫描程序阻塞我的IDE时,97%的CPU处于空闲状态。 我想知道进程是否被阻塞等待一些资源。
System\Processor Queue Length
计数器会告诉你有多少线程正在等待CPU资源。 LogicalDisk\Current Disk Queue Length
会告诉您有多少请求正在挂起磁盘I / O。
编辑:您可以使用Vista中的“可靠性和性能监视器”或XP上的“perfmon.exe”来绘制这些值。 Unix给你在不同时间间隔的时间平均值; perfmon具有平均计数器(所有计数器的可配置采样间隔一起),或者您可以获取当前队列的快照。 我不认为有一种方法可以像Unix给你的EMA(指数移动平均)。