c# - 获取计算机在过去 x 分钟内的平均 CPU 使用率

标签 c# .net cpu-usage system.diagnostics

这个问题"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/

相关文章:

c# - C# .NET 中的特定正则表达式

c# - ASP.NET 垃圾回收 : is referencing static class property dangerous?

c# - 单步执行 .NET Framework 源代码?

c# - IsNullorEmpty combobox.selectedvalue

c# - .Net运行时 "understand"该结构如何仍然有引用

multithreading - 如何在 bash/replace text/CPU usage 中使函数在后台工作

c - 为什么我运行这个 C 代码时 CPU 核心使用率有一个开关?

c# - 什么样的随机数生成系统会为给定的 key 返回一个结果?

c# - 使用 ASP.NET 远程登录到 Google Analytics

css - 如何停止导致 Firefox 和 Xorg CPU 使用率过高的 CSS 动画?