获取另一个进程的 CLR 内存性能计数器的值

Posted

技术标签:

【中文标题】获取另一个进程的 CLR 内存性能计数器的值【英文标题】:Obtaining the value of another process' CLR Memory Performance Counter 【发布时间】:2012-01-26 06:02:53 【问题描述】:

我有一些 C# 代码可以启动另一个进程。现在我希望能够获得该进程的 Gen2 堆大小的 CLR 内存性能计数器的值。

任何人都可以让我开始或指导我到一个使这变得容易的图书馆吗?

【问题讨论】:

【参考方案1】:

使用 PerformanceCounter 类。像这样:

using System;
using System.Diagnostics;

class Program 
    static void Main(string[] args) 
        var process = "devenv";   // Modify this
        var ctr = new PerformanceCounter(".NET CLR Memory", "Gen 2 heap size", process);
        Console.WriteLine(ctr.RawValue);
        Console.ReadLine();
    

【讨论】:

【参考方案2】:

您需要构建一个代码分析器,从这里开始阅读:http://msdn.microsoft.com/en-us/library/s5ec0es1.aspx。

【讨论】:

以上是关于获取另一个进程的 CLR 内存性能计数器的值的主要内容,如果未能解决你的问题,请参考以下文章

获取进程的 CPU 和内存使用情况的正确性能计数器是啥?

获取进程的CPU和内存使用情况的正确性能计数器是什么?

性能监视器触发另一个程序

windows下使用性能计数器遇到的坑

所有同名进程的性能计数器?

获取 C 中的进程性能计数器