c#获取系统cpu占用
时间: 2023-11-18 19:08:04 浏览: 146
你可以使用 System.Diagnostics 命名空间下的 PerformanceCounter 类来获取系统 CPU 占用率。以下是一个示例代码:
```csharp
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
PerformanceCounter cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
while (true)
{
Console.WriteLine($"CPU占用率: {cpuCounter.NextValue()}%");
System.Threading.Thread.Sleep(1000);
}
}
}
```
上述代码将每秒输出一次 CPU 占用率。你可以修改输出方式,以适应你的具体需求。
相关问题
C# 准确获取系统 CPU 使用率
你可以使用 System.Diagnostics 命名空间下的 PerformanceCounter 类来获取系统 CPU 使用率。具体步骤如下:
1. 引入命名空间:using System.Diagnostics;
2. 创建 PerformanceCounter 对象,设置计数器类别为 “Processor” ,计数器名称为 “% Processor Time” ,实例名称为 “_Total” 。
3. 调用 PerformanceCounter 对象的 NextValue() 方法获取当前 CPU 使用率。
示例代码如下:
```csharp
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
var cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
while (true)
{
var usage = cpuCounter.NextValue();
Console.WriteLine($"CPU usage: {usage}%");
System.Threading.Thread.Sleep(1000);
}
}
}
```
运行程序后,控制台会每秒输出一次当前 CPU 使用率。注意,这里的 CPU 使用率是一个百分比,所以输出时需要加上百分号。
c# 获取进程cpu使用率
你可以使用 System.Diagnostics 命名空间下的 Process 类来获取进程的 CPU 使用率。以下是一个示例代码:
```
using System.Diagnostics;
...
// 创建一个 Process 对象
Process process = Process.GetProcessById(processId);
// 创建一个 PerformanceCounter 对象
PerformanceCounter cpuCounter = new PerformanceCounter("Process", "% Processor Time", process.ProcessName, true);
// 获取进程 CPU 使用率
float cpuUsage = cpuCounter.NextValue();
// 等待一段时间,然后再次获取 CPU 使用率
System.Threading.Thread.Sleep(1000);
cpuUsage = cpuCounter.NextValue();
```
在上面的代码中,我们首先创建了一个 Process 对象,通过进程的 ID 获取到该进程的 Process 对象。然后我们创建了一个 PerformanceCounter 对象,指定了计数器的类别为 "Process",计数器名称为 "% Processor Time",实例名称为进程的名称,最后一个参数为 true 表示该计数器为多实例计数器,可以根据实例名称获取不同进程的 CPU 使用率。接着我们通过调用 NextValue 方法来获取进程 CPU 使用率的值,同样需要等待一段时间再次获取以得到更准确的结果。
阅读全文