Share via


VSPerfCmd

Mise à jour : novembre 2007

L'outil VSPerfCmd permet de démarrer et d'arrêter la collecte de données de performance. Il utilise la syntaxe suivante :

VSPerfCmd [/U] [/options]

Les tableaux ci-dessous décrivent les options de l'outil VSPerfCmd :

Option

Description

U

La sortie de console redirigée est écrite sous Unicode. Doit être la première option spécifiée.

Start:mode

Démarre VSPerfMon et patiente jusqu'à ce qu'il soit initialisé. Requiert le commutateur Output.

mode peut être l'un des éléments suivants :

COVERAGE - rassemble des données de couverture du code

SAMPLE - rassemble des données d'échantillonnage

TRACE - rassemble des données d'instrumentation

Output:filename

Spécifie le nom du fichier de sortie.

CrossSession|CS

Active le profilage interprocessus. Les noms d'options CROSSSESSION et CS sont pris en charge.

User:[domain\]username

Utilisé avec l'option START. Autorise l'accès client à l'analyseur à partir du compte spécifié.

WaitStart[:n]

Attend l'initialisation du journal de collecte de données. Si n est spécifié, VSPerfCmd attendra au plus n secondes. Si n n'est pas spécifié, VSPerfCmd attendra indéfiniment. Cela facilite l'utilisation de VSPerfCmd dans le cadre d'un processus par lots.

Counter:cfg

En cas d'utilisation de la méthode de profilage par échantillonnage, spécifie un compteur UC et le nombre d'événements à utiliser comme intervalle d'échantillonnage. Vous ne pouvez échantillonner qu'une seule valeur de compteur à la fois.

En cas d'utilisation de la méthode de profilage par instrumentation, spécifie un compteur UC à collecter à chaque point d'instrumentation. Vous pouvez collecter les données de plusieurs compteurs en spécifiant plusieurs options Counter (instrumentation uniquement).

Pour spécifier les données du compteur (cfg), utilisez la syntaxe suivante :

CounterName[,Reload[,FriendlyName]]

  • CounterName correspond au nom d'un compteur retourné par la commande VSPerfCmd /QueryCounters.

  • Reload correspond à l'intervalle d'échantillonnage des événements de compteur. Le paramètre Reload est ignoré lorsque vous utilisez la méthode d'instrumentation.

  • FriendlyName (facultatif). Si elle est spécifiée, chaîne qui remplace la valeur CounterName dans les vues et les rapports des outils de profilage.

QueryCounters

Affiche une liste de compteurs valides pour la plateforme.

WinCounter:chemin

Spécifie un compteur de performance Windows à inclure avec les données de marque. path est une chaîne du compteur de performance Windows au format de chemin d'accès PDH. Par exemple :

\Processor(0)\% Temps processeur

\System\Changements de contexte/sec

AutoMark:n

Spécifie l'intervalle de temps (en millisecondes) entre les marques automatiques lors de l'utilisation de /WINCOUNTER. Arrondi aux 500 ms les plus proches.

Utilisez 0 pour désactiver les marques automatiques (valeur par défaut=500 ms en l'absence de spécification).

Events:option

L'option EVENTS contrôle la collecte d'événements ETW (Event Trace Window). Les données collectées sont fournies par le fournisseur ETW. Le format option est :

<activé | désactivé>, <guid>[,flags[,level]]

<activé | désactivé>, <NomFournisseur>[,flags[,level]]

guid - GUID de contrôle du fournisseur. Un nom de fournisseur peut également être spécifié à la place du GUID s'il est enregistré avec WMI.

flags - valeur d'indicateurs hexadécimale préfixée '0x'. Elle est définie par le fournisseur d'événements. Pour plus d'informations, consultez la documentation du fournisseur d'ETW.

level- détermine la quantité d'informations collectée. Elle est définie par le fournisseur d'événements. Pour plus d'informations, consultez la documentation du fournisseur d'ETW.

Remarque importante :

Lorsque les événements ETW du CLR sont activés, des données de démarrage supplémentaires sont également rassemblées dans le rapport Trace View. Pour empêcher que des événements de démarrage apparaissent dans le rapport, utilisez la commande suivante :

C:\<chemin>VSPerfCmd -events on, \".NET Common Language Runtime\", 0x7fffffff, 5

Si vous n'excluez pas les événements de démarrage, parce que ces événements ne sont pas répertoriés dans le fichier au format MOF (Managed Object Format), ils apparaissent sous forme de GUID dans le rapport. Pour plus d'informations, consultez Exemple de fichier au format MOF (Managed Object Format).

En outre, l'option EVENTS peut comprendre les options de noyau communes suivantes :

on, option[,option]

où option représente un des éléments suivants :

Process - Événements de processus

Thread - Événements de thread

Image - Événements de chargement et de déchargement d'images

Disk - Événements d'E/S de disque

File - Événements d'E/S de fichier

Hardfault- Erreurs de page matérielles

Pagefault- Erreurs de page logicielles

Network - Événements de réseau

Registry - Événements d'accès au Registre

Notez que le fournisseur de noyau peut uniquement être activé. Il n'est pas désactivé, ses indicateurs ne peuvent pas non plus être modifiés, tant que le gestionnaire ne s'est pas arrêté.

Status

État appliqué aux processus profilés. Il répertorie les processus et les threads, ainsi que l'état de leur profil actuel (Activé/Désactivé). Par exemple, si un processus a été arrêté, STATUS ne l'indique pas dans le rapport. Il affiche si le processus est profilé ou non.

ShutDown[:n]

Attend que les applications surveillées s'arrêtent ou se détachent, puis arrête l'outil VSPerfMon.exe et attend la fin de la procédure d'arrêt. Si n est spécifié, VSPerfCmd attendra au plus n secondes. Si n n'est pas spécifié, VSPerfCmd attendra indéfiniment. Cela facilite l'utilisation de VSPerfCmd dans le cadre d'un processus par lots.

GlobalOn

L'option GLOBALON active le profilage après une option GLOBALOFF. En interne, l'option GLOBALON affecte au nombre Start/Stop global la valeur un. Pour plus d'informations, consultez GLOBALOFF.

GlobalOff

L'option GLOBALOFF désactive tout le profilage et aucune donnée n'est collectée. Cette option n'arrête pas la session de performance. Vous pouvez utiliser cette option pour éviter la collecte de données pendant le démarrage de l'application ou la phase d'initialisation.

Pour éviter la collecte de données sans objet :

ProcessOn:pid

L'option PROCESSON redémarre le profilage d'un processus spécifique à l'aide de son ID de processus (pid) après un appel à PROCESSOFF. En interne, l'option PROCESSON affecte au nombre de Start/Stop la valeur un pour le processus spécifié.

ProcessOff:pid

L'option PROCESSOFF arrête le profilage et la collecte de données d'un processus spécifique à l'aide de son ID de processus (pid). D'autres processus ou threads continuent à rassembler des données. Cela est utile si vous souhaitez éviter de rassembler des données avant que le processus n'atteigne un certain état. Vous pouvez utiliser l'option PROCESSON, après que le processus a atteint un certain état, pour commencer la collecte de données. En interne, PROCESSOFF affecte au nombre de Start/Stop la valeur zéro pour le processus spécifié.

ThreadOn:TID

L'option THREADON redémarre le profilage d'un thread spécifique à l'aide de son ID de thread (tid) après un appel à THREADOFF. En interne, l'option THREADON affecte au nombre de Start/Stop la valeur un pour le thread spécifié.

Cette option est uniquement valide en mode TRACE.

ThreadOff:TID

L'option THREADOFF arrête le profilage et la collecte de données d'un thread spécifique à l'aide de son ID de thread (tid).

D'autres processus ou threads continuent à rassembler des données. Cela est utile si vous ne voulez pas rassembler des données avant que le thread n'atteigne un certain état. Vous pouvez utiliser l'option THREADON, après que le thread a atteint un certain état, pour commencer la collecte de données. En interne, THREADOFF affecte au nombre de Start/Stop la valeur zéro pour le thread spécifié.

Cette option est uniquement valide en mode TRACE.

MARK:NuméroMarque[,TexteMarque]

Insère une marque dans le flux d'événements global, avec du texte facultatif. Cela est utile si vous souhaitez examiner les données entre deux marques.

marknum - toute valeur du type de données ULONG

Vous pouvez également appeler l'API MarkProfile dans votre code pour marquer des zones spécifiques de l'application. Ces informations ne sont disponibles que dans le rapport Trace des appels.

Options de la méthode d'échantillonnage

Les options suivantes ne sont disponibles qu'en mode SAMPLE :

Option

Description

Launch:Exécutable

Lance la commande spécifiée et attache l'exemple de profileur.

Args:Arguments

Arguments de l'application lancée.

Console

Lance la commande spécifiée dans une nouvelle console.

Attach:PID[,PID]

Attache l'exemple de profileur aux ID du processus spécifié - identificateur de processus (pid) ou nom de processus.

Detach:PID[,PID]

Détache l'exemple de profileur des ID du processus spécifié - identificateur de processus (pid) ou nom de processus.

Detach

Détache l'exemple de profileur de tous les processus.

GC[:Allocation|:Lifetime]

Cette option n'est disponible qu'en mode d'échantillonnage. Active le profilage de mémoire managé. Il est possible d'activer le traçage des allocations uniquement GC:allocation ou des allocations et durée de vie des objets GC:lifetime. La valeur par défaut est uniquement des allocations. Elle n'est valide qu'avec l'option /LAUNCH.

PF[:n]

Exemples sur chaque numéro d'erreur de page (valeur par défaut=10).

Sys[:n]

Exemples sur chaque numéro d'appel système (valeur par défaut=10).

Timer[:n]

Exemples sur chaque numéro de cycle (valeur par défaut=10000000).

Options des composants du service et des périphériques en mode noyau

Les options suivantes prennent en charge les composants du service de profilage ou les pilotes de périphériques en mode noyau. Ces options définissent les autorisations de profilage. Celles-ci doivent être exécutées à partir d'une console de ligne de commande s'exécutant en tant qu'administrateur. Pour plus d'informations, consultez Utilisation de la commande Exécuter en tant que (en anglais).

Option

Description

Admin:Security <ALLOW|DENY> Droit[Droit] <Utilisateur|Groupe>

Autorise ou refuse à l'utilisateur ou au groupe spécifié l'accès aux services de profilage.

Right peut être :

CrossSession - accorde à l'utilisateur l'accès au service pour faire du profilage intersession ;

SampleProfiling - accorde à l'utilisateur l'accès au pilote pour activer le profilage d'échantillonnage. Également utilisé pour accéder aux informations de transition du noyau au cours du profilage de trace ;

FullAccess - accorde à l'utilisateur l'accès à CrossSession et à SampleProfiling.

Admin:Security, List

Répertorie l'état actuel des services de profilage ainsi que les autorisations utilisateur.

Admin: <Service|Pilote><START|STOP|INSTALL|UNINSTALL>

Démarre, arrête, installe ou désinstalle le composant du service de profilage (service) ou le pilote de périphérique de mode noyau (pilote).

Admin: <Service|Pilote>AutoStart <ON|OFF>

Active ou désactive automatiquement le démarrage du service de profilage (service) ou le pilote de périphérique de mode noyau (pilote) après un redémarrage.

VsPerfDrv.sys

Les versions antérieures du profileur prenaient en charge la collecte à partir des applications en mode noyau UC à l'aide de VSPerfDrv.Sys. VsPerfDrv.sys est obsolète. Pour assurer cette fonctionnalité, utilisez les options VsPerfCmd ADMIN.

Voir aussi

Référence

VSInstr

VSPerfMon

VSPerfReport

Définitions des colonnes de rapports d'outils de profilage