Подтвердить что ты не робот

Получение использования режима работы

У меня были некоторые проблемы с выяснением того, как именно я получаю использование ramb. (Сколько бара в данный момент потребляется, а не сколько зарезервировано, или его максимальное или минимальное значение)

Предположим, что у меня есть процесс, запущенный на заднем плане, Java.exe, разрешено использовать 1024 МБ оперативной памяти, как я могу узнать, сколько бара в данный момент используется.

Я сам запускаю этот процесс, поэтому у меня есть доступ к объекту Process, я просто хотел бы немного разъяснить, какое свойство для меня.

4b9b3361

Ответ 1

Если вас интересует физическая память, вы, вероятно, захотите WorkingSet64, который дает "объем физической памяти, выделенной для связанной обработать." Понимайте, что это значение постоянно колеблется, и значение, которое этот звонок дает вам, может быть несовместимым. Вы также можете быть заинтересованы в PeakWorkingSet64, который дает "максимальный объем физической памяти, используемой связанным процессом".

Ответ 2

Я нашел это в msdn и работает

System.Diagnostics.Process proc = assign your process here :-)

int memsize = 0; // memsize in Megabyte
PerformanceCounter PC = new PerformanceCounter();
PC.CategoryName = "Process";
PC.CounterName = "Working Set - Private";
PC.InstanceName = proc.ProcessName;
memsize = Convert.ToInt32(PC.NextValue()) / (int)(1024);
PC.Close();
PC.Dispose();