Поделиться через


Сбор данных о выделении памяти для объектов .NET и времени их жизни

Этот раздел применим к:

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional 

Visual Studio Express

Тема применяется Тема применяется Тема не применяется Тема не применяется

Средства профилирования Visual Studio поддерживают возможность сбора данных о выделении памяти для объектов .NET и времени их жизни, что облегчает выявление проблем производительности приложения, связанных с памятью. 

  • Данные о выделении памяти .NET включают сведения о размере и количестве выделенных объектов памяти .NET Framework.

  • Данные о времени жизни объектов включают сведения о размере и числе объектов памяти .NET Framework, которые были удалены в трех поколениях сборки мусора.

Можно собрать данные с использованием метода выборки или метода профилирования с инструментированием.

  • При использовании метода выборки профилировщик отслеживает все операции выделения памяти .NET и объекты, которые были созданы запущенным процессом или процессом, к которому он присоединен.

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

Важно!

При сборе данных о памяти .NET (операции выделения, время жизни объектов или все вместе) с помощью метода выборки, все заданные пользователем события выборки игнорируются, и для сбора данных используются соответствующие события выделения памяти.

Если включается профилирование операций выделения памяти .NET, также следует включить представление "Выделение". Если включается профилирование данных о времени жизни .NET, также следует включить представление "Время жизни объектов". Дополнительные сведения см. в разделах Представление выделения памяти .NET и Представление "Время существования объектов".

Сведения о порядке сбора данных памяти .NET с использованием программ командной строки средств профилирования Использование методов профилирования для сбора данных о производительности из командной строки см. в разделе "Использование метода анализа использования памяти .NET для сбора данных о выделении памяти и сроках существования объектов" раздела.

Сбор данных памяти .NET

  1. В обозревателе производительности щелкните правой кнопкой мыши сеанс анализа производительности и выберите команду Свойства.

  2. В диалоговом окне Страницы свойств Сеанс производительности перейдите на вкладку Общие и установите флажок Собирать сведения о выделении объектов .NET.

  3. Для сбора данных о продолжительности жизни объектов .NET установите флажок Также собирать сведения о времени жизни объектов .NET.

Общие задачи

Дополнительные параметры сеанса анализа производительности можно указать в диалоговом окне Страницы свойств сеанс_анализа_производительности сеанса производительности. Чтобы открыть это диалоговое окно, выполните следующие действия.

  • В обозревателе производительности щелкните правой кнопкой мыши имя сеанса анализа производительности и выберите команду Свойства.

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

Задача

Связанное содержимое

На странице Общие задайте сведения об имени создаваемого файла данных профилирования (.vsp).

На странице Запуск выберите приложение для запуска, если в решении с кодом содержится несколько проектов исполняемых файлов (EXE).

На странице Взаимодействия уровня добавьте данные вызова ADO.NET в сеанс профилировщика.

На странице События Windows задайте одно или несколько событий трассировки Windows для сбора, воспользовавшись данными выборки.

На странице Счетчики Windows выберите один или несколько счетчиков производительности операционной системы, значения которых будут добавляться в данные профилирования в качестве меток.

На странице Дополнительно задайте для профилирования версию среды выполнения .NET Framework, если модули приложения используют несколько версий. По умолчанию профилируется первая загруженная версия.

Задачи инструментирования

Задачи в следующей таблице представляют собой параметры диалогового окна Страницы свойств, характерные для профилирования с использованием метода инструментирования.

Задача

Связанное содержимое

На странице Двоичные файлы задайте расположение для инструментированных копий модулей. По умолчанию исходные двоичные файлы перемещаются в папку для резервного копирования.

На странице Инструментирование исключите профилирование небольших функций, чтобы уменьшить количество служебных данных профилирования, выполните профилирование кода JavaScript на веб-страницах ASP.NET и задайте команды для запуска в командной строке перед началом процесса инструментирования и по его завершении.

На странице Счетчики ЦП выберите один или несколько счетчиков производительности процессора, значения которых будут добавляться в данные профилирования.

На странице Дополнительно задайте дополнительные необходимые параметры VSInstr.exe, например параметры для включения или исключения определенных функций. Дополнительные сведения о параметрах VSInstr см. в разделе VSInstr.

См. также

Задачи

Практическое руководство. Выбор методов сбора данных

Основные понятия

Настройка сеансов анализа производительности средств профилирования

Свойства сеанса анализа производительности