Как узнать сколько памяти занимает программа

Как узнать сколько памяти отжирает преложение в текущий момент (программно)

введите сюда описание изображения

Необходим код, который возвращает в байтах занимаемую память текущего приложения, как в диспетчере задач. Комментарии ниже приводят к следующему результату:

Отслеживать
Дмитрий Чистик
задан 17 июл 2016 в 6:37
Дмитрий Чистик Дмитрий Чистик
3,104 11 11 серебряных знаков 27 27 бронзовых знаков

(int)System.Diagnostics.Process.GetCurrentProcess().WorkingSet64 вроде бы в байтах возвращает значение

17 июл 2016 в 6:51
вернул 110870528, в диспетчере 46Мб
17 июл 2016 в 6:55

Результат может быть закэширован, поэтому перед взятием значения надо еще его обновить Process myProcess = Process.Start(«NotePad.exe»); do < if (!myProcess.HasExited) < myProcess.Refresh(); Console.WriteLine(» physical memory usage: <0>», myProcess.WorkingSet64); > > while (!myProcess.WaitForExit(1000));

Как посмотреть сколько памяти осталось на вашем ПК.

17 июл 2016 в 7:02
К сожалению тот же результат
17 июл 2016 в 7:29
Постоянно добавляет 40Мб. Не критично, мне просто нужно следить за ростом памяти. Но осадочек еть.

17 июл 2016 в 7:38

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Если вам нужно именно значение, показываемое в Task Manager, то его можно вычитать из счетчиков производительности:

using System; using System.Diagnostics; class Program < static void Main(string[] args) < string prcName = Process.GetCurrentProcess().ProcessName; var counter = new PerformanceCounter(«Process», «Working Set — Private», prcName); Console.WriteLine(«K», counter.RawValue / 1024); Console.ReadLine(); > >

На самом деле Working Set — Private — это не совсем «количество памяти, выделенное процессу». Сам по себе Working Set — это та часть виртуальной памяти, к которой процесс обращался недавно, и которой еще соответствует физическая память. А Working Set — Private — это неразделяемая часть Working Set.

Читайте также:
Как написать программу для поиска

Т.е. реальному потреблению памяти этот показатель имеет очень косвенное отношение, т.к. зависит не только от выделения памяти в программе, но и от того, как давно программа к ней обращалась, и от общего состояния памяти в системе.

Источник: ru.stackoverflow.com

Как посмотреть сколько памяти займет новая скаченная программа?

Если вас интересует место в памяти жесткого диска (неизменяемая память)то просто после установки в свойствах папки программы вы увидите сколько она занимает на вашем жёстком диске. И эта величина будет постоянной. А вот сколько памяти оперативной у вас уйдет на то что бы она у вас работала это вам придётся смотреть в диспетчере задач и то вы там увидите не всю полную картину а большую её часть так как помимо основной составляющей присутствуют и разные вспомогательные компоненты(файлы) которые будут запускаться в работу вместе с программой которую вы хотите проконтролировать.Но очень приближённую картину вы всё равно сможете увидеть. Имеються конечно и программы которые вам покажут и файлы и сектора памяти занятые вашей программой (эверест,siw и другие), но это вам ни к чему если только вы не собираетесь принудительно прописывать для неё используемые ячейки.

Как узнать сколько оперативной памяти поддерживает твой ПК или ноут?

Источник: www.bolshoyvopros.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru