




Я предполагаю, что вы имеете в виду использование памяти в определенный момент времени, а не то, сколько ей потенциально может понадобиться.
Вы можете получить информацию о том, сколько процесс потребляет через API Windows, например GetProcessMemoryInfo. Windows выделяет память блоками, поэтому это может быть более точным, чем просто проверка того, сколько памяти или места в куче используется.
Perfmon.exe будет отслеживать использование процесса.
Запустите perfmon.exe, щелкните правой кнопкой мыши «Добавить счетчики», выберите «Процесс» для объекта производительности, затем выберите такие параметры, как «Виртуальные байты», «Рабочий набор» и «Файл подкачки».
Во-первых, "требования к памяти" не очень хорошо определены. Когда вы начнете, ваш исполняемый файл будет связан со многими библиотеками DLL. Вместе с первым стеком это составляет ваш начальный процесс. Затем ваш процесс может запустить дополнительные потоки, выделить больше памяти и / или отобразить некоторые файлы в памяти.
Теперь Windows не даст вам реальной оперативной памяти для всех этих нужд. Многие библиотеки DLL уже загружены по другим причинам, поэтому вы поделитесь этой оперативной памятью. Дополнительная оперативная память для стеков выделяется при мягком переполнении стека. Файлы с отображением памяти получают ОЗУ, когда эти страницы выходят из строя.
Итак, один из важных вопросов - это то, чего вы действительно хотите. Вы должны сначала ответить на этот вопрос.