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


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

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

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

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

Требования

  • Visual Studio Ultimate, Visual Studio Premium, Visual Studio Professional
ПримечаниеПримечание

Функции усиленной безопасности в Windows 8 и Windows server 2012 требуют значительных изменений в том, как профилировщик Visual Studio выполняет сбор данных на этих платформах.Приложения хранилища Windows также требуют новых методов коллекции.Дополнительные сведения см. в разделе Профилирование приложений для Windows 8 и Windows Server 2012.

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

  • При использовании метода выборки профилировщик отслеживает все операции выделения памяти .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.

См. также

Задачи

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

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

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

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