c#在net6根据进程id获取每秒钟这个进程内存使用率
时间: 2024-02-03 13:13:55 浏览: 136
详解C#获取特定进程CPU和内存使用率
在 C# 中,可以使用 System.Diagnostics 命名空间下的 Process 类来获取进程信息。具体实现如下:
```csharp
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
int processId = 1234; // 需要监控的进程ID
Process process = Process.GetProcessById(processId);
while (true)
{
float memoryUsage = 100.0f * process.WorkingSet64 / Process.GetProcessById(processId).MaxWorkingSet.ToInt64();
Console.WriteLine($"Memory usage: {memoryUsage:0.00}%");
System.Threading.Thread.Sleep(1000); // 暂停1秒
}
}
}
```
上面的代码中,通过 `Process.GetProcessById(processId)` 获取指定 ID 的进程对象,然后使用 `WorkingSet64` 属性获取当前进程使用的物理内存大小,再根据 `MaxWorkingSet` 属性获取进程最大可使用的物理内存大小,计算出内存使用率并打印输出。最后通过 `Thread.Sleep` 方法暂停1秒,循环获取内存使用率。
阅读全文