日期:2014-05-17  浏览次数:21256 次

利用wmic获取cpu使用率
看到一个程序通过wmic process get Caption,KernelModeTime,UserModeTime命令来
获取所有进程的KernelModeTime和UserModeTime。

算出所有进程的 (KernelModeTime总和 + UserModeTime总和),作为allPorcessTime1;
算出System Idle Process进程和System进程的 (KernelModeTime总和 + UserModeTime总和),作为systemProcessTime1;

隔几秒后,再次调用wmic命令,再次获取allPorcessTime2和systemProcessTime2;

然后,
busyTime = allPorcessTime2 - allPorcessTime1;
idleTime = systemProcessTime2 - systemProcessTime1;

cpu使用率 = 100 * (busyTime) / (busyTime + idleTime);


请问这个方法计算cpu使用率对吗?

我和任务管理器对比,貌似相差很大。


------解决方案--------------------
因为运行wmic命令的那个时刻会对CPU使用率带来较大变化