Utilisation de profils Xperf
Cette section montre comment capturer des traces à l’aide de profils. Si vous analysez la mémoire, envisagez d’écrire votre trace dans un fichier, car ETW écrit via et ne perturbe pas le cache. Si vous analysez les E/S de disque, envisagez d’enregistrer votre trace dans une mémoire tampon circulaire. Il existe également d’autres considérations, telles que si vous devez capturer une longue trace, qui ne tient pas dans une mémoire tampon, ou si vous vous souciez uniquement des 5 à 10 dernières secondes du contenu de la trace.
Procédure
Sélectionnez un profil tel que perf! FileIOProfiles.InBuffer et utilisez une commande similaire à l’exemple suivant pour afficher des informations à son sujet.
xperf -profiles perf!FileIOProfiles.InBuffer
Cette commande répertorie tous les profils, suivis des sessions et des fournisseurs de ce profil :
Profil : FileIOProfiles.InBuffer
Sessions : FileIOProfiles.InBuffer.Sessions
Session : FileIOProfiles.InBuffer.Sessions[0]. Noyau[0]
Session : FileIOProfiles.InBuffer.Sessions[0]. Utilisateur[0]
Fournisseurs : FileIOProfiles.InBuffer.Providers
Fournisseur : FileIOProfiles.InBuffer.Providers[0]. Noyau[0]
Fournisseur : FileIOProfiles.InBuffer.Providers[0]. Utilisateur[0]
En supposant que vous avez choisi d’utiliser un suivi basé sur un fichier, démarrez un profil de trace InSequentialFile à l’aide de la commande suivante.
xperf -start perf!GeneralProfiles.InSequentialFile
Si un problème se produit, une erreur est signalée. Par exemple, le démarrage du même profil deux fois entraînerait une erreur indiquant que la session est déjà en cours d’exécution.
Indiquez les enregistreurs d’événements InSequentialFile qui ont déjà démarré pour un profil spécifique à l’aide de la commande suivante.
xperf -profileloggers perf!GeneralProfiles.InSequentialFile
La réponse à cette commande est similaire à l’exemple suivant.
État de session pour « perf! » GeneralProfiles.InSequentialFile »:
« Enregistreur d’événements du noyau NT » : en cours d’exécution
PerfCoreUserSession_InSequentialFile : En cours d’exécution
Arrêtez le profil de trace InSequentialFile , enregistrez les traces, puis fusionnez-les dans un fichier de trace, tel que Merged.etl, à l’aide de la commande suivante.
xperf -stop perf!GeneralProfiles.InSequentialFile merged.etl
Si un problème se produit, une erreur est signalée.
Démarrez le profil de trace InSequentialFile , en remplaçant, au moment du début, les valeurs MaxBuffers pour toutes les sessions ETW, pour lesquelles les enregistreurs doivent être démarrés sur 256. Pour effectuer cette action, utilisez la commande suivante.
xperf -start perf!GeneralProfiles.InSequentialFile -MaxBuffers 256
Si un problème se produit, une erreur est signalée.
Mettez à jour les valeurs MaxBuffers pour les enregistreurs d’événements EtW InSequentialFile actifs spécifiés dans le profil de trace à l’aide de la commande suivante.
xperf -update perf!GeneralProfiles.InSequentialFile -MaxBuffers 256
Aucune réponse n’est affichée après l’émission de cette commande.