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


Счетчики ЦП и Windows в средствах профилирования

Профилировщик Visual Studio 2010 позволяет собирать данные о производительности, генерируемые операционной системой (счетчики Windows) и процессором (счетчики ЦП).

Счетчики Windows

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

Счетчики ЦП

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

Счетчики производительности зависят от конкретного ЦП. Для использования одинаковых счетчиков производительности для ЦП различных моделей или версий может потребоваться значительная настройка параметров конфигурации. Переносимые события профилировщика Visual Studio 2010 позволяют отделить некоторые типовые счетчики производительности от конкретных моделей процессоров и позволяют собирать или осуществлять выборку общих событий производительности.

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

Профилировщик Visual Studio 2010 продолжает поддерживать определенные события для конкретных платформ. Например, разработчику на платформе Pentium 4 может понадобиться выполнить подсчет событий, относящихся к архитектуре NetBurst. Такие события перенести невозможно, однако они по-прежнему доступны для определенных сеансов производительности на данной платформе.

Переносимые и платформозависимые события

Переносимые события образуют группу счетчиков ЦП, которые не зависят от определенного процессора. Все остальные счетчики ЦП называются платформозависимыми событиями; их поддержка зависит от конкретной платформы.

И переносимые, и платформозависимые события определяются в XML-файлах, в которых содержатся конкретные значения, относящиеся к этим счетчикам. Таких файлов, относящихся к разным ЦП, достаточно много, поскольку, например, данные для ЦП Intel и AMD различаются. Профилировщик Visual Studio 2008 использует эти сведения для предоставления пользователю оптимальных счетчиков, переносимых или платформозависимых, для измерения производительности.

Переносимые события

В группу переносимых событий входят следующие события.

Универсальные события

Имя события

Описание события

Удаленные инструкции

Указывает количество полностью выполненных инструкций на момент создания события.

Не остановлены циклы

Указывает только те циклы, в которых процессор не остановлен, например ожидание ввода-вывода.

События внешнего интерфейса

Имя события

Описание события

Отсутствует ITLB

Указывает количество подстановок в аппаратном буфере ITLB (Instruction Translation Look-aside Buffer), которые закончились неудачей.

События ветви

Имя события

Описание события

Удаленные ветви

Указывает количество полностью выполненных инструкций в ветви на момент создания события.

Неверно предсказанные ветви

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

События памяти

Имя события

Описание события

Промахи чтения кэша L2

Указывает количество промахов при чтении кэша второго уровня.

Ссылки чтения кэша L2

Указывает количество ссылок чтения кэша второго уровня. Сюда включаются промахи при загрузке, а также промахи и попадания RFO.

Просмотр доступных счетчиков

Вы можете указать доступные счетчики ЦП в интегрированной среде разработки Visual Studio в окне командной строки.

Пользовательский интерфейс Visual Studio

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

Просмотр списка всех счетчиков ЦП, поддерживаемых на текущей платформе

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

  2. Выполните одно из следующих действий.

    • В списке Событие выборки выберите пункты Выборка, Счетчик производительности. Счетчики ЦП отображаются в списке Доступные счетчики производительности.

      Примечание. Нажмите кнопку Отмена, чтобы вернуться к предыдущей конфигурации выборки.

    – или –

    • Выберите Счетчики ЦП, Сбор данных счетчиков ЦП. Счетчики ЦП отображаются в списке Доступные счетчики.

      Примечание. Нажмите кнопку Отмена, чтобы вернуться к предыдущей конфигурации коллекции счетчиков.

Просмотр списка счетчиков Windows, поддерживаемых на текущей платформе

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

  2. Щелкните Счетчики Windows.

  3. Выберите Сбор счетчиков Windows.

  4. В списке Категория счетчика выберите группу счетчиков. В списке отображается счетчик Windows для группы.

    Примечание. Нажмите кнопку Отмена, чтобы вернуться к предыдущей конфигурации коллекции счетчиков.

Командная строка

С помощью инструмента командной строки VSPerfCmd можно создать список счетчиков ЦП, доступных на компьютере.

Создание списка счетчиков ЦП, поддерживаемых на текущей платформе

  1. Откройте окно командной строки.

  2. Тип

    <Visual Studio Performance Tools Directory>\VSPerfCmd /querycounters

    где <Visual Studio Performance Tools Directory> - это путь к каталогу Performance Tools установки Visual Studio (обычно

    C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Performance Tools)

См. также

Задачи

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

Практическое руководство. Сбор данных счетчика ЦП с помощью метода инструментирования

Практическое руководство. Сбор данных счетчиков производительности Windows

Другие ресурсы

Обзоры (средства профилирования)