Как измерить требования к памяти во время выполнения приложения на платформе Windows?

Как измерить требования к памяти во время выполнения приложения на платформе Windows?

13.12.2008 05:20:12
3 ОТВЕТА

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

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

Посмотреть более подробную информацию от MSDN

1
13.12.2008 05:28:58

Perfmon.exe будет контролировать использование процесса.

Запустите perfmon.exe, щелкните правой кнопкой мыши Добавить счетчики, выберите «Процесс» для объекта производительности, затем выберите такие вещи, как виртуальные байты, рабочий набор и файл страницы.

2
13.12.2008 05:48:30

Во-первых, «требования к памяти» не очень четко определены. Когда вы начнете, ваш исполняемый файл будет связан со многими DLL. Вместе с первым стеком это формирует ваш начальный процесс. Затем ваш процесс может запустить дополнительные потоки, выделить больше памяти и / или карту памяти для некоторых файлов.

Теперь Wwindows не даст вам реальной оперативной памяти для всех этих нужд. Многие библиотеки DLL уже загружены по другим причинам, поэтому вы будете использовать эту оперативную память. Дополнительная память для стеков выделяется, когда вы получаете мягкие переполнения стека. Файлы с отображенной памятью выделяют ОЗУ, когда эти страницы неисправны.

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

0
15.12.2008 12:35:19