处理器用法

时间:2010-11-09 13:35:45

标签: c# .net performance wmi processor

  

可能重复:
  CPU Usage using WMI & C#

如何使用WMI检索C#(.NET)中的CPU使用率百分比?是的,没有任何愚蠢的PerformanceCounter。

1 个答案:

答案 0 :(得分:6)

PerformanceCounter是一种非常检索此信息的低成本方式。与WMI相反,它会为您提供完全相同的信息但由于它在COM之上运行而有很多开销。

它与PC有完全相同的问题,这就是为什么我猜你认为它是'愚蠢的'。 CPU使用百分比是在一段时间内测量的。实际CPU使用率为0或100%,CPU永远不会以较低的速率有意运行。当有一个工作要做的线程时,它会运行代码。如果没有工作要做,桌面机器的正常状态,则使用HLT指令关闭CPU电源。它会被时钟中断再次唤醒。

TaskMgr或Permon中显示的CPU使用百分比是一秒钟以上的计算值。运行时间为100%的时间与关闭时间的比率。间隔长度非常很重要。你做的越短,计算值就会越“跳跃”。直到连续两次调用NextValue(),你总是得到100%。

长话短说:你需要一个计时器。让它模拟你在PerfMon和TaskMgr中看到的内容一秒钟。