这里有几个关于如何监控CPU使用率的问题,但我无法让我的代码显示除0以外的任何内容。
有人可以看看,让我知道我做错了什么吗?
PerformanceCounter perform = new PerformanceCounter("Processor", "% Processor Time", "_Total");
public string cpuTime()
{
return perform.NextValue() + "%";
}
public void cpuUtilization()
{
}
public String getCPUUtilization()
{
return cpuTime();
}
答案 0 :(得分:0)
处理器只做两件事。它要么执行代码,要么全力运行。或者,当它找不到任何工作时,它会被操作系统暂停,这是迄今为止最常见的情况。
因此,为了达到%利用率,您需要了解它在间隔上的作用。一秒是常见的选择。利用率现在是它运行的秒数与停止的时间量之间的时间量。
间隔是代码中缺少的。在调用cpuTime()方法之后,必须等待,直到再次调用它为止。因此收集了足够的历史数据。这需要一个计时器。间隔时间越短,测量结果越不可靠。让它太短,你只会得到0或100%。你目前的问题。