Как получить процент использования процессора в С# для каждого запущенного процесса

Я использую System.Diagnostics.Process.GetProcesses() для получения списка процессов. Я нашел свойство TotalProcessorTime для каждого процесса - это TimeSpan.

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


person skaeff    schedule 10.11.2010    source источник
comment
Возможный дубликат: stackoverflow .com/questions/278071/   -  person digEmAll    schedule 10.11.2010
comment
Также прочитайте ответ Ганса, чтобы понять, что на самом деле означает процент ЦП: /4134199/использование-процессора/   -  person Dirk Vollmar    schedule 10.11.2010


Ответы (2)


используйте WQL (запрашивает WMI, как SQL), см. прикрепленную ссылку для нескольких примеров: WQL

Win32_PerfFormattedData_PerfProc_Process — ваш класс для получения данных о ЦП.

person user437631    schedule 10.11.2010

Я нашел обходное решение, см. этот вопрос

План такой: брать данные со счетчиков стандартным образом, потом обрабатывать лог-файлы. Мониторинг в реальном времени не критичен.

person skaeff    schedule 09.12.2010