C# 准确获取系统 CPU 使用率
时间: 2023-08-29 12:04:46 浏览: 170
可以借助 System.Diagnostics 命名空间下的 PerformanceCounter 类来获取系统 CPU 使用率。具体步骤如下:
1. 引入 System.Diagnostics 命名空间:
```
using System.Diagnostics;
```
2. 创建 PerformanceCounter 对象:
```
PerformanceCounter cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
```
其中,第一个参数 "Processor" 表示 CPU 监视器,第二个参数 "% Processor Time" 表示 CPU 使用率,第三个参数 "_Total" 表示所有 CPU 核心的总体使用率。
3. 调用 NextValue 方法获取 CPU 使用率:
```
float cpuUsage = cpuCounter.NextValue();
```
注意,第一次调用 NextValue 方法获取的是 0,因为需要先获取一次初始值,之后才能获取正确的 CPU 使用率。
完整示例代码如下:
```
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
PerformanceCounter cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
// 获取初始值
cpuCounter.NextValue();
System.Threading.Thread.Sleep(1000);
// 获取 CPU 使用率
float cpuUsage = cpuCounter.NextValue();
Console.WriteLine("CPU 使用率:{0}%", cpuUsage);
}
}
```
阅读全文