Compartir a través de


VSPerfCmd

Actualización: noviembre 2007

La herramienta VSPerfCmd se utiliza para iniciar y detener la recolección de datos de rendimiento. Utiliza la sintaxis siguiente:

VSPerfCmd [/U] [/options]

Las tablas siguientes describen las opciones de la herramienta VSPerfCmd:

Opción

Descripción

U

La salida de la consola redirigida se escribe como Unicode. Debe ser la primera opción especificada.

Start:mode

Inicia VSPerfMon y espera hasta que se inicializa. Se necesita el modificador Output.

mode puede ser uno de los siguientes:

COVERAGE (recopila los datos de cobertura de código)

SAMPLE (recopila los datos de muestreo)

TRACE (recopila los datos de instrumentación)

Output:filename

Especifica el nombre del archivo de resultados.

CrossSession|CS

Habilita la generación de perfiles entre procesos. Se admiten los nombres de opción CROSSSESSION y CS.

User:[domain\]username

Se utiliza con la opción START. Permite el acceso de cliente al monitor de rendimiento desde la cuenta especificada.

WaitStart[:n]

Espera a que se inicialice el registrador de recolección de datos. Si se especifica n, VSPerfCmd espera a lo sumo n segundos. Si no se especifica n, VSPerfCmd espera indefinidamente. De este modo se facilita el uso de VSPerfCmd como parte de un proceso por lotes.

Counter:cfg

Cuando se utiliza el método de generación de perfiles de muestreo, especifica un contador de CPU y el número de eventos que se va a utilizar como intervalo del muestreo. Puede probar solamente un valor del contador.

Cuando se utiliza el método de generación de perfiles de instrumentación, especifica un contador de CPU que se va a recopilar en cada punto de instrumentación. Para recopilar múltiples datos de contador, especifique varias opciones Counter (solamente en la instrumentación).

Utilice la sintaxis siguiente para especificar los datos del contador (cfg):

CounterName[,Reload[,FriendlyName]]

  • CounterName es el nombre de un contador devuelto por el comando /QueryCounters de VSPerfCmd.

  • Reload es el intervalo de muestreo del evento de contador. Reload se omite cuando se utiliza el método de instrumentación.

  • FriendlyName Opcional. Si se especifica, es una cadena que reemplaza al valor

QueryCounters

Muestra una lista de contadores válidos para la plataforma.

WinCounter:ruta

Especifica un contador de rendimiento de Windows para incluirlo con los datos de marca. path es una cadena de contador de rendimiento de Windows con formato de ruta de acceso de contador PDH. Por ejemplo:

\Processor(0)\% Processor Time

\System\Context Switches/sec

AutoMark:n

Especifica el intervalo (en milisegundos) entre marcas automáticas cuando se usa /WINCOUNTER. Redondea al alza a los 500 ms más próximos.

Use 0 para deshabilitar las marcas automáticas. (valor predeterminado = 500 ms si no se especifica)

Events:option

La opción de EVENTS controla la recopilación de eventos en la ventana de seguimiento de eventos (ETW). El proveedor de ETW proporciona los datos recopilados. El formato de option es:

<on | off>, <guid>[,flags[,level]]

<on | off>, <nombre del proveedor>[,flags[,level]]

guid (GUID de control del proveedor). Como alternativa, se puede indicar el nombre de un proveedor en lugar del GUID si está registrado en WMI.

flags (valor de marcadores hexadecimal con el prefijo '0x'). Lo define el proveedor de eventos. Para obtener más información, consulte la documentación del proveedor de ETW.

level (determina cuánta información se recopila). Lo define el proveedor de eventos. Para obtener más información, consulte la documentación del proveedor de ETW.

Nota importante:
Cuando están habilitados los eventos ETW de CLR, también se recopilan datos de inicio adicionales en el informe de seguimiento. Para excluir los eventos de inicio de modo que no aparezcan en el informe, utilice el comando siguiente:C:\<ruta de acceso>VSPerfCmd -events:on, \".NET Common Language Runtime\", 0x7fffffff, 5 Si no excluye los eventos de inicio, al no aparecer en el archivo de formato de objetos no administrados (MOF) aparecerán como GUID en el informe. Para obtener más información, vea Managed Object Format (MOF) File.

Además, la opción EVENTS entiende las siguientes opciones de kernel comunes:

on, option[,option]

donde option puede tomar uno de los siguientes valores:

Process (eventos de proceso)

Thread (eventos de subproceso)

Image (eventos de carga y descarga de imágenes)

Disk (eventos de E/S de disco)

File (eventos de E/S de archivo)

Hardfault (errores de página en disco)

Pagefault (errores de página en memoria)

Network (eventos de red)

Registry (eventos de acceso al Registro)

Tenga en cuenta que el proveedor de kernel sólo puede estar habilitado. No se deshabilita, ni se pueden modificar sus marcadores, hasta que el monitor se cierre.

Status

Estado aplicado a los procesos cuyos perfiles se generan. Muestra los procesos y subprocesos, así como su estado de generación de perfiles actual (on/off). Por ejemplo, si un proceso se ha detenido, STATUS no lo indicará en el informe. Mostrará si se han generado perfiles para el proceso o no.

ShutDown[:n]

Espera a que las aplicaciones supervisadas se cierren o desasocien y, a continuación, cierra VSPerfMon.exe y espera a que finalice el cierre. Si se especifica n, VSPerfCmd espera a lo sumo n segundos. Si no se especifica n, VSPerfCmd espera indefinidamente. De este modo se facilita el uso de VSPerfCmd como parte de un proceso por lotes.

GlobalOn

La opción GLOBALON habilita la generación de perfiles después de GLOBALOFF. Internamente, la opción GLOBALON establece el recuento de Start/Stop en uno. Para obtener más información, vea GLOBALOFF.

GlobalOff

La opción GLOBALOFF deshabilita la generación de perfiles y no se recopilan datos. Esta opción no cierra la sesión de rendimiento. Puede utilizar esta opción para evitar que se recopilen datos durante el inicio de la aplicación o durante la fase de inicialización.

Para evitar la recopilación de datos no pertinentes:

ProcessOn:pid

La opción PROCESSON reinicia la generación de perfiles para un proceso concreto utilizando su identificador del proceso (pid) después de una llamada a PROCESSOFF. Internamente, la opción PROCESSON establece el recuento de Start/Stop en uno para el proceso especificado.

ProcessOff:pid

La opción PROCESSOFF detiene la generación de perfiles y la recolección de datos de un proceso concreto utilizando su identificador del proceso (pid). Los demás procesos o subprocesos continúan recopilando datos. Resulta de gran utilidad para evitar que se recopilen datos antes de que el proceso alcance un estado determinado. Puede utilizar la opción PROCESSON, después de que el proceso alcance dicho estado, para comenzar la recolección de datos. Internamente, PROCESSOFF establece el recuento de Start/Stop en cero para el proceso especificado.

ThreadOn:tid

THREADON reinicia la generación de perfiles para un subproceso concreto usando el identificador del subproceso (tid) después de una llamada a THREADOFF. Internamente, la opción THREADON establece el recuento de Start/Stop en uno para el subproceso especificado.

Esta opción sólo es válida en modo TRACE.

ThreadOff:tid

La opción THREADOFF detiene la generación de perfiles y la recolección de datos para un subproceso concreto usando el identificador del subproceso (tid).

Los demás procesos o subprocesos continúan recopilando datos. Resulta de gran utilidad para evitar que se recopilen datos antes de que el subproceso alcance un estado determinado. Puede utilizar la opción THREADON, después de que el subproceso alcance dicho estado, para comenzar la recolección de datos. Internamente, THREADOFF establece el recuento de Start/Stop en cero para el subproceso especificado.

Esta opción sólo es válida en modo TRACE.

MARK:MarkNum[,MarkText]

Inserta una marca en la secuencia de eventos global, con texto opcional. Resulta de gran utilidad para examinar los datos comprendidos entre dos marcas.

marknum (cualquier valor de tipo de datos ULONG)

Como alternativa, puede llamar a la API MarkProfile en el código para marcar áreas concretas de la aplicación. Esta información sólo está disponible en el informe de Seguimiento de llamadas.

Opciones del método de muestreo

Las opciones siguientes sólo están disponibles en modo SAMPLE:

Opción

Descripción

Launch:Ejecutable

Inicia el comando especificado y asocia el generador de perfiles basado en la muestra.

Args:Arguments

Argumentos para la aplicación iniciada.

Console

Inicia el comando especificado en una nueva consola.

Attach:PID[,PID]

Asocia el generador de perfiles basado en la muestra a los identificadores de los procesos especificados, nombre o identificador del proceso (pid).

Detach:PID[,PID]

Desasocia el generador de perfiles basado en la muestra de los identificadores de los procesos especificados, nombre o identificador del proceso (pid).

Detach

Desasocia el generador de perfiles basado en la muestra de todos los procesos.

GC[:Allocation|:Lifetime]

Esta opción está disponible sólo para el modo de muestreo. Habilita la generación de perfiles en memoria administrada. Es posible habilitar sólo el seguimiento de las asignaciones (GC:allocation) o bien el seguimiento de las asignaciones y de los períodos de duración de objetos (GC:lifetime). El valor predeterminado es sólo asignaciones. Sólo es válido con la opción /LAUNCH.

PF[:n]

Toma una muestra en cada enésimo error de página (valor predeterminado=10).

Sys[:n]

Toma una muestra en cada enésima llamada del sistema (valor predeterminado=10).

Timer[:n]

Toma una muestra en cada enésimo ciclo (valor predeterminado=10000000).

Opciones de componentes del servicio y dispositivos de modo kernel

Las opciones siguientes admiten los componentes del servicio de generación de perfiles o los controladores de dispositivos de modo kernel. Estas opciones establecen los permisos de generación de perfiles. Deben ejecutarse desde una consola de línea de comandos como administrador. Para obtener más información, vea Using the Run As Command.

Opción

Descripción

Admin:Security <ALLOW|DENY> Derecha[ Derecha] <Usuario|Grupo>

Permite o deniega al usuario o grupo especificado el acceso a los servicios de generación de perfiles.

Right puede ser:

CrossSession: concede al usuario acceso al servicio para la generación de perfiles entre sesiones.

SampleProfiling: concede al usuario acceso al controlador para habilitar la generación de perfiles de ejemplo. También se utiliza para tener acceso a la información de transición del kernel durante la generación de perfiles de seguimiento.

FullAccess: concede al usuario acceso tanto de tipo CrossSession como de tipo SampleProfiling.

Admin:Security, List

Muestra el estado actual de los servicios de generación de perfiles y enumera los permisos de usuario.

Admin: <Servicio|Controlador><START|STOP|INSTALL|UNINSTALL>

Inicia, detiene, instala o desinstala el componente del servicio de generación de perfiles (servicio) o el controlador de dispositivos de modo kernel (controlador).

Admin: <Servicio|Controlador>AutoStart <ON|OFF>

Habilita o deshabilita automáticamente el inicio del servicio de generación de perfiles (servicio) o el controlador de dispositivos de modo kernel (controlador) después de un reinicio.

VsPerfDrv.sys

Las versiones anteriores del generador de perfiles admitían la recolección de aplicaciones de modo kernel de CPU mediante VSPerfDrv.Sys. VsPerfDrv.sys está obsoleto. Utilice las opciones de ADMIN de VsPerfCmd para esta funcionalidad.

Vea también

Referencia

VSInstr

VSPerfMon

VSPerfReport

Definiciones de columnas de informes de las herramientas de generación de perfiles