Сбор данных о выделении памяти для объектов .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
В обозревателе производительности щелкните правой кнопкой мыши сеанс анализа производительности и выберите команду Свойства.
В диалоговом окне Страницы свойств Сеанс производительности перейдите на вкладку Общие и установите флажок Собирать сведения о выделении объектов .NET.
Для сбора данных о продолжительности жизни объектов .NET установите флажок Также собирать сведения о времени жизни объектов .NET.
Общие задачи
Дополнительные параметры сеанса анализа производительности можно указать в диалоговом окне Страницы свойств сеанс_анализа_производительности сеанса производительности. Чтобы открыть это диалоговое окно, выполните следующие действия.
- В обозревателе производительности щелкните правой кнопкой мыши имя сеанса анализа производительности и выберите команду Свойства.
Задачи в следующей таблице описывают параметры, которые можно задать в диалоговом окне Страницы свойств Сеанс производительности при выполнении сбора данных памяти .NET.
Задача |
Связанное содержимое |
---|---|
На странице Общие задайте сведения об имени создаваемого файла данных профилирования (.vsp). |
|
На странице Запуск выберите приложение для запуска, если в решении с кодом содержится несколько проектов исполняемых файлов (EXE). |
|
На странице Взаимодействия уровня добавьте данные вызова ADO.NET в сеанс профилировщика. |
|
На странице События Windows задайте одно или несколько событий трассировки Windows для сбора, воспользовавшись данными выборки. |
|
На странице Счетчики Windows выберите один или несколько счетчиков производительности операционной системы, значения которых будут добавляться в данные профилирования в качестве меток. |
|
На странице Дополнительно задайте для профилирования версию среды выполнения .NET Framework, если модули приложения используют несколько версий. По умолчанию профилируется первая загруженная версия. |
Задачи инструментирования
Задачи в следующей таблице представляют собой параметры диалогового окна Страницы свойств, характерные для профилирования с использованием метода инструментирования.
Задача |
Связанное содержимое |
---|---|
На странице Двоичные файлы задайте расположение для инструментированных копий модулей. По умолчанию исходные двоичные файлы перемещаются в папку для резервного копирования. |
|
На странице Инструментирование исключите профилирование небольших функций, чтобы уменьшить количество служебных данных профилирования, выполните профилирование кода JavaScript на веб-страницах ASP.NET и задайте команды для запуска в командной строке перед началом процесса инструментирования и по его завершении. |
|
На странице Счетчики ЦП выберите один или несколько счетчиков производительности процессора, значения которых будут добавляться в данные профилирования. |
|
На странице Дополнительно задайте дополнительные необходимые параметры VSInstr.exe, например параметры для включения или исключения определенных функций. Дополнительные сведения о параметрах VSInstr см. в разделе VSInstr. |
См. также
Задачи
Практическое руководство. Выбор методов сбора данных
Основные понятия
Настройка сеансов анализа производительности средств профилирования