С это сообщение:
Для получения полной загрузки процессора и памяти ПК:
using System.Diagnostics;
Тогда объявите глобально:
private PerformanceCounter theCPUCounter =
new PerformanceCounter("Processor", "% Processor Time", "_Total");
Затем, чтобы получить процессорное время, просто вызовите метод NextValue()
:
this.theCPUCounter.NextValue();
Это позволит вам использовать процессор
Что касается использования памяти, применимо то же самое, я считаю:
private PerformanceCounter theMemCounter =
new PerformanceCounter("Memory", "Available MBytes");
Затем, чтобы получить использование памяти, просто вызовите метод NextValue()
:
this.theMemCounter.NextValue();
Для конкретного процесса Использование ЦП и памяти:
private PerformanceCounter theCPUCounter =
new PerformanceCounter("Process", "% Processor Time",
Process.GetCurrentProcess().ProcessName);
где Process.GetCurrentProcess().ProcessName
- имя процесса, информацию о котором вы хотите получить.
private PerformanceCounter theMemCounter =
new PerformanceCounter("Process", "Working Set",
Process.GetCurrentProcess().ProcessName);
где Process.GetCurrentProcess().ProcessName
- имя процесса, информацию о котором вы хотите получить.
Обратите внимание, что рабочего набора может быть недостаточно для определения объема памяти процесса - см. Что такое частные байты, виртуальные байты, рабочий набор?
Для получения всех категорий см. Пошаговое руководство. Получение категорий и счетчиков
Разница между Processor\% Processor Time
и Process\% Processor Time
составляет Processor
от самого ПК, а Process
для отдельного процесса. Таким образом, процессорное время процессора будет использоваться на ПК. Процессорное время процесса будет определенным использованием процессов. Для полного описания названий категорий: Счетчики системного монитора
Альтернатива использованию счетчика производительности
Используйте System.Diagnostics. *