VSPerfCmd
Обновлен: Ноябрь 2007
Средство VSPerfCmd используется для начала и остановки сбора данных о производительности. Для этого используется следующий синтаксис.
VSPerfCmd [/U] [/options]
В следующих таблицах описываются параметры средства VSPerfCmd.
Параметр |
Описание |
U |
Перенаправленный вывод на консоль записывается в кодировке Юникода. Этот параметр следует указывать первым. |
Start:mode |
Запускает средство VSPerfMon и ожидает его инициализации. Для этого параметра требуется ключ OUTPUT. Параметр mode может принимать следующие значения. COVERAGE — сбор данных о покрытии кода. SAMPLE — сбор данных при профилировании с выборкой. TRACE — сбор данных при профилировании с инструментированием. |
Output:filename |
Указывает имя выходного файла. |
CrossSession|CS |
Включает профилирование в нескольких процессах. Поддерживаются имена параметра CROSSSESSION и CS. |
User:[domain\]username |
Используется с параметром START. Позволяет клиентам получать доступ к монитору с помощью указанной учетной записи. |
WaitStart[:n] |
Ожидает инициализации средство ведения журнала сбора данных. Если указано значение n, средство VSPerfCmd будет ожидать не более n секунд. Если значение n не указано, средство VSPerfCmd ожидает в течение неограниченного периода. Это упрощает использование VSPerfCmd в составе пакетного процесса. |
Counter:cfg |
При использовании метода профилирования с выборкой указывает на счетчик ЦП и количество событий, которое должно использоваться в качестве интервала выборки. Можно указать только одно значение счетчика. При использовании метода профилирования с инструментированием указывает на счетчик ЦП, значение которого требуется собирать в каждой точке инструментирования. Можно собирать данные от нескольких счетчиков, задав несколько параметров Counter (только для профилирования с инструментированием). Используйте следующий синтаксис для описания данных счетчика (cfg): CounterName[,Reload[,FriendlyName]]
|
QueryCounters |
Отображение списка допустимых счетчиков для платформы. |
WinCounter:путь |
Укажите счетчик производительности Windows, который следует включить с метками данных. path — это срока счетчика производительности Windows в формате пути счетчика PDH. Пример. \Processor(0)\% процессорного времени \System\параметры контекста/сек |
AutoMark:n |
Указывает временной интервал (в миллисекундах) между автоматическими метками при использовании параметра /WINCOUNTER. Округляется до ближайшего значения, кратного 500 мс. Для отключения автоматических меток используется значение 0 (если значение не указано, используется значение 500 мс). |
Events:option |
Параметр EVENTS управляет сбором событий трассировки событий Windows. Собранные данные предоставляются поставщиком трассировки событий Windows. Параметр option указывается в следующем формате: <on | off>, <guid>[,flags[,level]] <on | off>, <имя поставщика>[,flags[,level]] guid — идентификатор GUID элемента управления поставщика. Если поставщик зарегистрирован с помощью инструментария WMI, можно также указать вместо идентификатора GUID имя поставщика. flags — значение флагов с шестнадцатеричным префиксом "0x". Это значение определяется поставщиком событий. Дополнительные сведения см. в документации по поставщику трассировки событий Windows. level — определяет объем собираемой информации. Это значение определяется поставщиком событий. Дополнительные сведения см. в документации по поставщику трассировки событий Windows.
Важное примечание.
При возникновении событий трассировки событий Windows среды CLR для отчета представления трассировки собираются также дополнительные данные о запуске. Чтобы исключить события запуска из отчета, используйте следующую команду: C:\<путь>VSPerfCmd -events on, \".NET Common Language Runtime\", 0x7fffffff, 5 Поскольку события запуска не перечислены в MOF-файле, то, если их не исключить, они отображаются в отчете в виде идентификаторов GUID. Дополнительные сведения см. в статье Пример MOF-файла.
Кроме того, в параметре EVENTS можно указывать следующие общие параметры ядра: on, option[,option] где "option" может принимать одно из следующих значений: Process — события процесса Thread — события потока Image — события загрузки и выгрузки образов Disk — события ввода-вывода на диске File — события ввода-вывода в файле Hardfault — ошибки страниц физической памяти Pagefault — ошибки страниц ОЗУ Network — сетевые события Registry — события доступа к реестру Обратите внимание, что поставщик ядра может быть только включен. До завершения работы монитора невозможно отключить этот поставщик или изменить его флаги. |
Status |
Состояние, применяемое к процессам, для которых выполняется профилирование. Этот параметр перечисляет процессы и потоки и их текущее состояние профилирования (On/Off). Например, если процесс был остановлен, параметр STATUS не отразит это в отчете. Он лишь показывает, выполняется ли профилирование для процесса или нет. |
ShutDown[:n] |
Ожидает завершение работы или отсоединение отслеживаемых приложений, после чего завершает работу средства VSPerfMon.exe и ожидает его полного завершения. Если указано значение n, средство VSPerfCmd будет ожидать не более n секунд. Если значение n не указано, средство VSPerfCmd ожидает в течение неограниченного периода. Это упрощает использование VSPerfCmd в составе пакетного процесса. |
GlobalOn |
Параметр GLOBALON включает профилирование после применения параметра GLOBALOFF. Параметр GLOBALON устанавливает для глобального счетчика начала/остановки значение один. Дополнительные сведения см. в описании параметра GLOBALOFF. |
GlobalOff |
Параметр GLOBALOFF отключает профилирование во всех потоках, в результате чего прекращается сбор данных. При его применении не происходит завершение работы сеанса анализа производительности. Этот параметр можно использовать, чтобы запретить сбор данных во время запуска приложения или на этапе инициализации. Параметры запрета сбора ненужных данных. |
ProcessOn:pid |
Параметр PROCESSON выполняет повторный запуск профилирования для процесса, указанного идентификатором процесса (pid), после применения параметра PROCESSOFF. Параметр PROCESSON устанавливает для счетчика начала/остановки указанного процесса значение один. |
ProcessOff:pid |
Параметр PROCESSOFF останавливает профилирование и сбор данных для процесса, указанного идентификатором процесса (pid). В других процессах или потоках сбор данных продолжается. Этот параметр удобно использовать, если необходимо запретить сбор данных до того, как процесс достигнет определенного состояния. После того как процесс достигнет требуемого состояния, можно использовать параметр PROCESSON, чтобы возобновить сбор данных. Параметр PROCESSOFF устанавливает для счетчика начала/остановки указанного процесса значение ноль. |
ThreadOn:идентификатор потока |
THREADON выполняет повторный запуск профилирования для потока, указанного идентификатором потока (tid), после применения параметра THREADOFF. Параметр THREADON устанавливает для счетчика начала/остановки указанного потока значение один. Этот параметр допускается использовать только в режиме TRACE. |
ThreadOff:идентификатор потока |
Параметр THREADOFF останавливает профилирование и сбор данных для потока, указанного идентификатором потока (tid). В других процессах или потоках сбор данных продолжается. Этот параметр удобно использовать, если необходимо запретить сбор данных до того, как поток достигнет определенного состояния. После того как поток достигнет требуемого состояния, можно использовать параметр THREADON, чтобы возобновить сбор данных. Параметр THREADOFF устанавливает для счетчика начала/остановки указанного потока значение ноль. Этот параметр допускается использовать только в режиме TRACE. |
MARK:Номер_метки[,Текст_метки] |
Вставляет метку с необязательным текстом в глобальный поток событий. Этот параметр полезно использовать для изучения данных между двумя метками. marknum — любое значение типа ULONG Для вставки меток в определенные области приложения можно также вызывать в коде API-функцию MarkProfile. Эта информация доступна только в отчете трассировки вызовов. |
Параметры метода профилирования с выборкой
Перечисленные ниже параметры доступны только в режиме SAMPLE:
Параметр |
Описание |
---|---|
Launch:Исполняемый файл |
Запускает указанную команду и присоединяет профилировщик выборки. |
Args:Аргументы |
Аргументы для запускаемого приложения. |
Console |
Запускает указанную команду в новой консоли. |
Attach:PID[,PID] |
Присоединяет профилировщик выборки к процессам с указанными идентификаторами pid или именами процесса. |
Detach:PID[,PID] |
Отсоединяет профилировщик выборки от процессов с указанными идентификаторами pid или именами процесса. |
Detach |
Отсоединяет профилировщик выборки от всех процессов. |
GC[:Allocation|:Lifetime] |
Этот параметр допускается использовать только в режиме выборки. Он включает профилирование управляемой памяти. Можно включить трассировку только выделений памяти (GC:allocation) или выделений памяти и времени существования объектов (GC:lifetime). По умолчанию выполняется трассировка только выделений памяти. Этот параметр допускается использовать только вместе с параметром /LAUNCH. |
PF[:n] |
Выборка осуществляется на каждой n-ой ошибке страницы (значение по умолчанию=10). |
Sys[:n] |
Выборка осуществляется при каждом n-ом системном вызове (значение по умолчанию=10). |
Timer[:n] |
Выборка осуществляется на каждом n-ом цикле (значение по умолчанию=10000000). |
Параметры компонентов служб и драйверов устройств, работающих в режиме ядра
Перечисленные ниже параметры поддерживают компоненты служб профилирования или работающие в режиме ядра драйверы устройств. С помощью этих параметров устанавливаются разрешения профилирования. Они должны выполняться с консоли командной строки, запущенной с правами администратора. Дополнительные сведения см. в разделе Использование команды "Запуск от имени".
Параметр |
Описание |
---|---|
Admin:Security <ALLOW|DENY> Право[ Право] <Пользователь|Группа> |
Запрет или разрешение доступа к службам профилирования для указанного пользователя или группы. Параметр Right может принимать следующие значения: CrossSession — предоставляет пользователю доступ к службе для выполнения профилирования в нескольких сеансах; SampleProfiling — предоставляет пользователю доступ к драйверу для включения профилирования с выборкой; также используется для доступа к сведениям о переходе в режим ядра и выходе из этого режима во время профилирования с трассировкой; FullAccess — предоставляет пользователю права, определяемые параметрами CrossSession и SampleProfiling. |
Admin:Security, List |
Список текущих состояний служб профилирования и разрешений пользователей. |
Admin: <Служба|Драйвер><START|STOP|INSTALL|UNINSTALL> |
Запуск, остановка, установка или удаление службы профилирования (service) или работающего в режиме ядра драйвера устройства (driver). |
Admin: <Служба|Драйвер>AutoStart <ON|OFF> |
Включение или выключение автоматического запуска службы профилирования (service) или работающего в режиме ядра драйвера устройства (driver) после перезапуска системы. |
VsPerfDrv.sys
Предыдущие версии профилировщика поддерживали сбор данных приложений, работающих в режиме ядра ЦП, с помощью драйвера VSPerfDrv.Sys. Теперь драйвер VSPerfDrv.sys устарел. Используйте параметры VsPerfCmd ADMIN для получения доступа к этой функциональности.