c#获取系统cpu占用
时间: 2023-11-18 08:08:04 浏览: 142
你可以使用 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 使用率。以下是一个示例代码:
```csharp
using System;
using System.Diagnostics;
public static class SystemInfo
{
public static float GetCpuUsage()
{
var cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
cpuCounter.NextValue();
System.Threading.Thread.Sleep(1000);
return cpuCounter.NextValue();
}
}
```
这个方法返回一个浮点数,表示 CPU 使用率的百分比。需要注意的是,这个方法只能在 Windows 平台上使用。
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 使用率的值,同样需要等待一段时间再次获取以得到更准确的结果。
阅读全文