Профайлер – это программа, которая может работать в двух режимах:
- Поиск функций, выполнение которых занимает большое количество времени
- Поиск функций, создающей большие объекты или большое количество объектов, занимающих большой объем памяти
Здесь рассмотрим только второй режим.
Профайлер памяти можно скачать здесь.
После установки он будет интегрирован в MS Visual Studio, и в верхней панели появятся следующие кнопки:
Выделяем Memory Profiler, также помечаем следующие кнопки:
Первая позволит получить исходный код функции, занимающей много памяти, при включенной второй перед каждой тестовой сессией будет перезапущен IIS – это необходимо, чтобы сбросить кеши. После этого запускаем сайт.
В студии появится окно, показывающее использование CPU и памяти в реальном времени. Чтобы получить снимок в нужный момент времени, нажимаем Get snapshot.
После получения снимка отобразится вся информации об использовании памяти. Нас интересует вкладка All threads.
В данном случае, что Thread #8 занимает больше всего памяти. Раскрываем дерево вызовов до тех пор, пока не дойдем до функции из нашего кода.