c#在core6根据进程id获取这个进程的内存使用率
时间: 2023-12-09 13:05:16 浏览: 17
可以使用System.Diagnostics.Process类来获取进程信息,包括内存使用率。具体操作如下:
1. 引入命名空间:using System.Diagnostics;
2. 获取进程对象:var process = Process.GetProcessById(processId);
3. 获取进程的内存使用情况:var memoryUsage = process.WorkingSet64;
4. 获取系统总内存大小:var totalMemory = new Microsoft.VisualBasic.Devices.ComputerInfo().TotalPhysicalMemory;
5. 计算内存使用率:var memoryUsageRate = memoryUsage / (double)totalMemory * 100;
完整代码示例:
```
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
// 进程ID
int processId = 1234;
// 获取进程对象
var process = Process.GetProcessById(processId);
// 获取进程的内存使用情况
var memoryUsage = process.WorkingSet64;
// 获取系统总内存大小
var totalMemory = new Microsoft.VisualBasic.Devices.ComputerInfo().TotalPhysicalMemory;
// 计算内存使用率
var memoryUsageRate = memoryUsage / (double)totalMemory * 100;
Console.WriteLine($"Process {processId} memory usage rate: {memoryUsageRate}%");
}
}
```