这个问题"How to get the CPU Usage in C#?"显示了在 .NET 中获取计算机当前 CPU 使用率 (%) 的一些方法。
由于 CPU 使用率波动非常频繁,我认为当前的 CPU 使用率通常不能很好地指示计算机的繁忙程度(例如用于调度或负载平衡目的)。有没有一种有效的方法来获取最近 x 分钟的平均 CPU 使用率,例如最后5分钟?
我正在考虑类似方法 GetAverageCpuUsage(int period) 的方法,它可以由负载平衡或调度模块调用。
最佳答案
实际上这正是PerformanceCounter来自 the 2nd most upvoted answer在另一个问题中,他们只是测量超过 1 秒。
它给你的 % 是在计数器上最后一次 NextValue()
计算的平均 cpu 百分比。因此,如果您想要过去 5 分钟内的平均 CPU,只需每 5 分钟调用一次 NextValue()
。
Here is a good article解释如何使用性能计数器。
关于c# - 获取计算机在过去 x 分钟内的平均 CPU 使用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14701029/