2015-09-08 9 views
1

Я изучал, как получить использование ОЗУ процесса по идентификатору, но все результаты приводят к использованию переменной WorkingSet64, которая возвращает неверное значение. Я уже сопоставил оба значения WorkSet64 и значение в диспетчере задач, и они не равны.Получить реальное использование ОЗУ процесса

Я хотел бы знать, как получить реальное и правильное использование ОЗУ, как и диспетчер задач Windows.

Можете ли вы мне помочь? Заранее спасибо.

ответ

2

В окне 8.1 столбец памяти по умолчанию в диспетчере задач находится Частный Рабочий набор.

См. Это question, чтобы узнать, как получить такое значение.

Резюмируя от ответа ссылочного Вопрос по:

Используйте PerformanceCounter класс для получения «рабочего набора - Private» счетчик из категории «Process».

Пример:

var counter = new PerformanceCounter("Process", "Working Set - Private", prcName); 

Где prcName это имя процесса. Например, чтобы получить имя текущего процесса, используйте следующее:

string prcName = Process.GetCurrentProcess().ProcessName; 

Если вы хотите получить имя процесса, учитывая его идентификатор, используйте следующую команду:

string prcName = Process.GetProcessById(process_id).ProcessName; 
+0

Спасибо! Это то, что я искал! – ShadowHunter

+0

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

Смежные вопросы