В соответствии с процессом explorer/диспетчер задач мое приложение имеет собственный рабочий набор размером около 190 МБ, даже не выполняя конкретную задачу, что намного больше, чем я ожидал бы от него. Используя FastMM, я подтвердил, что ни одна из них не является фактической утечкой памяти в традиционном смысле.Получение информации об использовании ОЗУ приложения
Я также прочитал соответствующую дискуссию going on here, в которой предлагается использовать FastMM's LogMemoryManagerStateToFile();
. Однако выходные генерируемые состояния «21299K Allocated, 49086K Overhead», которые объединены (70MB), намного меньше, чем предлагает диспетчер задач.
Можно ли каким-либо образом узнать, что вызывает огромные различия, может быть, даже 190 МБ является ожидаемым значением для приложения с ~ 15 формами? Кроме того, имеет 70% накладных расходов «плохо», любой способ уменьшить это число?
Не похоже, что это проблема. Помните также, что FastMM - это не единственное, что выделяет память в вашем процессе. –
http://stackoverflow.com/questions/215285/ –
Возможно, это проще, мое приложение использует 120 МБ ОЗУ, которое не отслеживается FastMM, и я пытаюсь получить более подробную информацию, чтобы в конечном итоге уменьшить ее. – DNR