我每秒使用1个事件处理程序获取我的PC的RAM和CPU使用率,每个事件处理程序都会更新此信息。我指示将此信息打印在TextBox
中。它工作正常。
除此之外,我试图不断更新平均RAM和平均CPU使用率。在程序运行10秒之后,我通过添加最后10秒的RAM值并将它们除以10得到平均值。相同的11秒,其中我除以11秒,依此类推。
我想我需要经常计算秒数,并不断添加ram计数和CPU使用次数。我目前正在使用性能计数器来获取CPU和RAM值。
我可以使用性能计数器来获得平均值吗?请指教。我的代码如下。
class Perform
{
private PerformanceCounter cpuCounter;
private PerformanceCounter ramCounter;
public Perform()
{
cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
ramCounter = new PerformanceCounter("Memory", "Available MBytes");
}
public float GetCurrentCpuUsage()
{
return cpuCounter.NextValue();
}
public float GetCurrentAvailableRam()
{
return ramCounter.NextValue();
}
}