Rahul s menon Ответов: 1

Как получить использование процессора и памяти системы в C# winforms?


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

Что я уже пробовал:

я использую PerformanceCounter, чтобы получить эту информацию, но это не правильно с использованием процессора системы. Пожалуйста, найдите код, который используется в моем приложении.

PerformanceCounter cpuCounter;
cpuCounter = новый PerformanceCounter ("процессор", "% привилегированного времени", " _Total");
lbl_cpu_usage.Текст = Преобразовать.ToInt32(cpuCounter.NextValue()).ToString ()+"%"; (этот код записывается в событии timer tick.

1 Ответов

Рейтинг:
0

Garth J Lancaster

Объекты счетчика производительности в целом нуждаются в двух значениях, отобранных с интервалом 1-2 секунды, чтобы иметь возможность давать точные показания .. хотя я ненавижу тот факт, что использую здесь задержку потока, я не могу придумать более простого способа-см. две строки жирным шрифтом, которые я добавил в ваш код - посмотрите, делает ли это его более точным

PerformanceCounter cpuCounter;
cpuCounter = new PerformanceCounter("Processor", "% Privileged Time", "_Total");
cpuCounter.NextValue();  
System.Threading.Thread.Sleep(1000); 
lbl_cpu_usage.Text = Convert.ToInt32(cpuCounter.NextValue()).ToString() + "%";


[править] ссылка : Извлечение Значения Счетчика Производительности[^] [/редактировать]


Rahul s menon

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

Graeme_Grant

используйте таймер, установленный на 1000 миллисекунд, и не используйте Thread.Sleep.

Rahul s menon

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

Garth J Lancaster

- я не думаю, что вы когда-нибудь получите цифры, которые точно соответствуют использованию системы

Rahul s menon

мы можем получить точное использование, реализовав wmi. если у вас есть какие-либо идеи по внедрению wmi?

Garth J Lancaster

Мне бы пришлось погуглить его-там много чего есть, но я не фанат WMI