使用 C# 查找多个应用程序池的内存使用情况

Finding memory usage of multiple App Pools using c#

我正在尝试通过 c# 查找每个应用程序池的内存使用量

这是我目前拥有的:

List<ApplicationPool> pools = new List<ApplicationPool>();
List<WorkerProcess> processes = new List<WorkerProcess>();

ServerManager serverManager = new ServerManager();
ApplicationPoolCollection appPools = serverManager.ApplicationPools;

foreach (ApplicationPool pool in appPools)
{
    pools.Add(pool);
}

这为我提供了我拥有的所有应用程序池的列表 运行,但是 ApplicationPool 对象的 none 属性为我提供了有关其使用情况或实时数据的任何信息。

我是不是完全搞错了?

如何找到我想要的信息?

我无法在任何地方找到直接的答案,但如果之前有人回答过这个问题,我深表歉意。

干杯

您可以使用 system.diagnostics 获取工作集。

可以修改 link 中的示例以获得所有 w3wp.exe 进程的工作集。

Is there a way to retrieve a C# app's current memory usage?.