c#怎么实时获取当前cpu占用率
时间: 2023-07-26 20:18:52 浏览: 85
你可以使用 `PerformanceCounter` 类来实时获取当前 CPU 的占用率。以下是一个示例代码:
```csharp
using System.Diagnostics;
// 创建一个 PerformanceCounter 对象
var cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
while (true)
{
// 获取当前 CPU 占用率
float cpuUsage = cpuCounter.NextValue();
Console.WriteLine($"当前 CPU 占用率:{cpuUsage}%");
// 等待 1 秒
Thread.Sleep(1000);
}
```
这段代码将会每秒输出一次当前 CPU 占用率,并且会一直运行下去。需要注意的是,`PerformanceCounter` 对象的构造函数中的参数 `"Processor"` 表示监控的是 CPU 的性能计数器,`"% Processor Time"` 表示监控的是 CPU 的占用率,`"_Total"` 表示监控的是所有 CPU 的总占用率。
相关问题
c#实时获取cpu占有率
您可以使用C#中的`PerformanceCounter`类来实时获取CPU占用率。以下是一个简单的示例代码:
```csharp
using System.Diagnostics;
namespace GetCPUUsage
{
class Program
{
static void Main(string[] args)
{
PerformanceCounter cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
while (true)
{
float cpuUsage = cpuCounter.NextValue();
Console.WriteLine("CPU Usage: " + cpuUsage + " %");
Thread.Sleep(1000);
}
}
}
}
```
该代码将每秒输出CPU的占用率。您可以通过修改`Thread.Sleep()`的参数来调整输出频率。
c# 获取当前线程cpu使用率
你可以使用System.Diagnostics命名空间下的PerformanceCounter类来获取当前线程的CPU使用率。以下是一个示例代码:
```csharp
using System.Diagnostics;
// 获取当前线程的CPU使用率
var process = Process.GetCurrentProcess();
var cpuCounter = new PerformanceCounter("Process", "% Processor Time", process.ProcessName, true);
cpuCounter.NextValue();
System.Threading.Thread.Sleep(1000); // 等待1秒钟
var cpuUsage = cpuCounter.NextValue() / Environment.ProcessorCount;
Console.WriteLine("CPU使用率: {0}%", cpuUsage);
```
请注意,这个示例代码仅适用于获取当前线程的CPU使用率。如果你想获取整个系统的CPU使用率,你需要使用不同的性能计数器实例。