Несколько процессоров и PerformanceCounter C # - PullRequest
5 голосов
/ 10 февраля 2010

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

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

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

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

Aaron

Ответы [ 2 ]

7 голосов
/ 10 февраля 2010

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

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

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

4 голосов
/ 10 февраля 2010

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

...