监控 C# 应用程序中的 CPU 使用情况
本指南演示如何使用 PerformanceCounter
类在 C# 应用程序中获取系统范围的 CPU 使用率数据。
设置柜台:
首先实例化一个 PerformanceCounter
对象来跟踪 CPU 使用情况。 这是通过指定类别(“处理器”)、计数器名称(“%处理器时间”)和实例名称(“_Total”表示整个系统使用情况)来完成的:
<code class="language-csharp">PerformanceCounter cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");</code>
检索 CPU 使用情况:
当前CPU使用率是通过NextValue()
方法获取的。 请注意,第一次调用 NextValue()
将始终返回 0%。 在短暂的延迟后,需要进行第二次调用才能获得有意义的结果。
<code class="language-csharp">public string GetCpuUsage() { // First call to NextValue() is always 0, so we discard it. cpuCounter.NextValue(); System.Threading.Thread.Sleep(1000); // Wait 1 second for a more accurate reading. return cpuCounter.NextValue() + "%"; }</code>
重要提示:
NextValue()
调用对于放弃默认的 0% 值至关重要。System.Threading.Thread.Sleep()
方法引入了精确测量的延迟。根据需要调整延迟。PerformanceCounter
对象。 例如:<code class="language-csharp">PerformanceCounter ramCounter = new PerformanceCounter("Memory", "Available MBytes"); public string GetAvailableRAM() { return ramCounter.NextValue() + " MB"; }</code>
PerformanceCounter
类提供了一种将系统性能监控集成到 C# 应用程序中的强大而有效的方法。 请记住在使用过程中处理潜在的异常(例如PerformanceCounterException
)。
以上是如何在 C# 中计算 CPU 使用率?的详细内容。更多信息请关注PHP中文网其他相关文章!