Несколько процессоров и PerformanceCounter C#

Я пытаюсь выяснить, как собрать текущий процент использования каждого отдельного процессора на моем компьютере. Если я использую "System.Environment.ProcessorCount;" Я могу получить количество процессоров на моем компьютере, и в настоящее время он возвращает «2». Я либо не знаю, что ищу, либо в Интернете не так много информации об этом.

Ниже приведен код, который я сейчас использую для получения общего текущего процента использования всех процессоров вместе взятых.

protected PerformanceCounter cpuCounter = new PerformanceCounter("processor", "% Processor Time", "_Total");
public string getCurrentCpuUsage()
{
    return cpuCounter.NextValue() + "%";
}

Спасибо за любую помощь,

Аарон


person Aaron Salazar    schedule 09.02.2010    source источник


Ответы (2)


Для первого процессора используйте

protected PerformanceCounter cpuCounter = 
  new PerformanceCounter("processor", "% Processor Time", "0");

И так далее до (Environment.ProcessorCount-1).ToString()

person Henk Holterman    schedule 09.02.2010

Поскольку я оставил свой первоначальный вопрос, мне довелось найти монитор производительности Windows (C:\Windows\system32\perfmon.msc) на моем компьютере с Windows 7. Если щелкнуть правой кнопкой мыши график в главном окне и выбрать «Добавить счетчики», то отобразится список возможных строк для использования в качестве параметров в PerformanceCounter практически для всего, что нужно отслеживать.

person Aaron Salazar    schedule 09.02.2010
comment
Это золотая жила. Спасибо за ваш вклад, помогаете и по сей день! - person Adam K Dean; 05.09.2012
comment
Большое спасибо! Это именно то, что я искал. - person GenericJam; 03.07.2014