如何在 .Net Core 中获取进程的 CPU 使用率和虚拟内存?

hun*_*rex 5 c# .net-core

在 .NET Core 中,如何获取给定进程的 CPU 使用率和虚拟内存?

谷歌搜索结果显示 PerformanceCounter 和 DriverInfo 类可以完成这项工作。但是,PerformanceCounter 和 DriverInfo 类在 .NET Core 中不可用。

stackoverflow 中有一篇关于这个问题的帖子:How to get the current CPU/RAM/Disk usage in a C# web application using .NET CORE?

然而,它只解决: - 当前进程的 CPU 使用率:

    var proc = Process.GetCurrentProcess();
Run Code Online (Sandbox Code Playgroud)

我已经获得了进程(使用 ProcessID 整数格式)。如何在 .NET Core 中获取该特定进程的 CPU 使用率和虚拟内存?

小智 -4

我刚刚在 google 中输入“获取 c# 中的所有进程”,发现了以下内容:

        Process[] processlist = Process.GetProcesses();

        foreach (Process theprocess in processlist)
        {
        }
Run Code Online (Sandbox Code Playgroud)

我在 asp.net core 2.2 中快速进行了测试,并且使用 System.Diagnostics 运行良好;不过我用的是windows 10 pro来测试的。所以我不知道它是否适用于其他操作系统。

来源:https ://www.howtogeek.com/howto/programming/get-a-list-of-running-processes-in-c/