none
как отслеживать объем памяти занимаемый переменными? RRS feed

  • Вопрос

  • программа достаточно большая и многопоточная, посоветуйте как можно контролировать память под переменные?
    • Перемещено Tagore Bandlamudi 1 октября 2010 г. 21:09 MSDN Forums consolidation (От:Visual C#)
    21 сентября 2010 г. 9:54

Ответы

  • Не будет равна, память под приложение выделяется не только под переменные

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

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

    Analyze =>Launch  Performance  Wizard, выбираешь .NET Memory Allocation, указываешь экзешник и запускаешь анализ, на выходе получишь подробнейший отчет по использованию памяти приложением по разным критериям. Очень сотевую этот тулс.

    • Помечено в качестве ответа skuvvii 22 сентября 2010 г. 20:30
    22 сентября 2010 г. 19:13

Все ответы

  • хм, просуммировать количество памяти занимаемой переменными?:)

    22 сентября 2010 г. 14:21
  • Не все переменные доступны.

    И  будет ли эта сумма равна объму занимаемому приложением?

    22 сентября 2010 г. 16:52
  • Не будет равна, память под приложение выделяется не только под переменные

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

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

    Analyze =>Launch  Performance  Wizard, выбираешь .NET Memory Allocation, указываешь экзешник и запускаешь анализ, на выходе получишь подробнейший отчет по использованию памяти приложением по разным критериям. Очень сотевую этот тулс.

    • Помечено в качестве ответа skuvvii 22 сентября 2010 г. 20:30
    22 сентября 2010 г. 19:13