Отладка приложения - количество памяти

Рейтинг: 3Ответов: 1Опубликовано: 02.04.2015

Как узнать сколько памяти потребляет приложение (на С#) при работе? Либо "участок кода" - допустим есть метод который считывает данные, можно ли узнать сколько памяти он потребляет во время работы.

ds.ReadXml(xml);

IDE - VS2012

Ответы

▲ 4Принят

Отслеживание изменений в оперативной памяти:

  1. С помощью кода:

    long before = GC.GetTotalMemory(false);
    // ваш код тут
    long after = GC.GetTotalMemory(false);
    int consumedInMegabytes = (after - before) / (1024 * 1024);
    

    Опционально может потребоваться собрать мусор до и/или после тестируемого кода (параметр GetTotalMemory поставить в true).

  2. С помощью профайлеров (суть аналогична): снять снэпшот до тестируемого кода, выполнить код, снять снэпшот после, сравнить два снэпшота. Профайлер поможет ответить не только на на вопрос "сколько?", но и "на что?".