Профайлер – это программа, которая может работать в двух режимах:

  • Поиск функций, выполнение которых занимает большое количество времени
  • Поиск функций, создающей большие объекты или большое количество объектов, занимающих большой объем памяти

Здесь рассмотрим только второй режим.

Профайлер памяти можно скачать здесь.

После установки он будет интегрирован в MS Visual Studio, и в верхней панели появятся следующие кнопки:
 
profiler-menu

Выделяем Memory Profiler, также помечаем следующие кнопки:
 
profiler-menu-2

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

В студии появится окно, показывающее использование CPU и памяти в реальном времени. Чтобы получить снимок в нужный момент времени, нажимаем Get snapshot.
 
profiler-cpu-using

После получения снимка отобразится вся информации об использовании памяти. Нас интересует вкладка All threads.
 
profiler-cpu-using

В данном случае, что Thread #8 занимает больше всего памяти. Раскрываем дерево вызовов до тех пор, пока не дойдем до функции из нашего кода.

Опубликовано в ASP.NET