netcore指定某个进程获取内存占有率
时间: 2023-08-08 19:12:33 浏览: 107
获取指定进程的内存和cpu使用率
4星 · 用户满意度95%
你可以使用.NET Core的System.Diagnostics.Process类来获取特定进程的内存占用率。以下是一个示例代码:
```csharp
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
string processName = "yourProcessName"; // 替换成你要监视的进程名
Process[] processes = Process.GetProcessesByName(processName);
if (processes.Length == 0)
{
Console.WriteLine($"Process {processName} not found.");
return;
}
Process process = processes[0];
Console.WriteLine($"Process {processName} found. PID: {process.Id}");
double memUsage = (double)process.WorkingSet64 / 1024 / 1024; // 获取进程工作集大小,单位是字节,转换为 MB
Console.WriteLine($"Working set size: {memUsage:F2} MB");
double memUsagePercent = (double)process.WorkingSet64 / (double)process.PrivateMemorySize64;
Console.WriteLine($"Memory usage percentage: {memUsagePercent:P2}");
}
}
```
在上面的示例代码中,我们首先指定要监视的进程名,并使用Process.GetProcessesByName方法获取所有与该进程名匹配的进程。如果没有找到任何进程,则输出一条错误信息并退出程序。
如果找到进程,则从数组中取出第一个进程,并打印出其PID。然后我们使用WorkingSet64属性获取该进程的工作集大小(单位是字节),并将其转换为MB。接下来,我们使用PrivateMemorySize64属性获取进程的私有内存大小(单位也是字节),计算出内存占用率并输出。
阅读全文