С помощью Process PerformanceCounters как узнать, с каким процессом связан экземпляр? - PullRequest
0 голосов
/ 09 сентября 2010

При запросе экземпляров для категории счетчика производительности «Процесс» может быть несколько экземпляров процесса с одинаковым именем.

Например, этот код:

var cat = new PerformanceCounterCategory("Process");

var names = cat.GetInstanceNames();

foreach (var name in names)
    Console.WriteLine(name);

Может распечатать эти результаты: ... Iexplore Iexplore # 1 Iexplore # 2 Iexplore # 3 ...

Как узнать, какому процессу соответствует каждый из этих экземпляров счетчика?

1 Ответ

2 голосов
/ 09 сентября 2010

В категории «Процесс» есть PerformanceCounter с именем «ID Process», который возвращает pid процесса, которому соответствует экземпляр счетчика производительности.

var cat = new PerformanceCounterCategory("Process");

var names = cat.GetInstanceNames();

foreach (var name in names.OrderBy(n => n))
{
    var pidCounter = new PerformanceCounter("Process", "ID Process", name, true);
    var sample = pidCounter.NextSample();
    Console.WriteLine(name + ": " + sample.RawValue);
}

Это напечатает:

...

* 1008.1015 *
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...