VSPerfCmd

Aktualisiert: November 2007

Mithilfe des VSPerfCmd-Tools wird das Erfassen von Leistungsdaten gestartet und beendet. Es verwendet die folgende Syntax:

VSPerfCmd [/U] [/options]

In der folgenden Tabelle werden die Optionen des VSPerfCmd-Tools beschrieben:

Option

Beschreibung

U

Umgeleitete Konsolenausgaben sind als Unicode geschrieben. Muss erste angegebene Option sein.

Start:mode

Startet VSPerfMon und wartet, bis es initialisiert ist. Erfordert den Output-Schalter.

Für mode ist einer der folgenden Werte möglich:

COVERAGE – erfasst Codeabdeckungsdaten

SAMPLE – erfasst Samplingdaten

TRACE – erfasst Instrumentationsdaten

Output:filename

Legt den Namen der Ausgabedatei fest.

CrossSession|CS

Aktiviert die prozessübergreifende Profilerstellung. Die Optionen CROSSSESSION und CS werden beide unterstützt.

User:[domain\]username

Wird mit START-Option verwendet. Ermöglicht Clientzugriff auf den Monitor über das angegebene Konto.

WaitStart[:n]

Wartet darauf, dass die Protokollierung für die Datenerfassung initialisiert wird. Wenn n angegeben ist, wartet VSPerfCmd mindestens n Sekunden. Wenn n nicht angegeben wird, wartet VSPerfCmd endlos lange. Dies vereinfacht die Verwendung von VSPerfCmd im Rahmen eines Batchprozesses.

Counter:cfg

Wenn die Samplingmethode für die Profilerstellung verwendet wird, wird ein CPU-Indikator angegeben sowie die Anzahl der als Samplingintervall zu verwendenden Ereignisse. Sie können nur für einen Zählerwert ein Sampling ausführen.

Wenn die Instrumentationsmethode für die Profilerstellung verwendet wird, gibt diese einen CPU-Indikator an, der an jedem Instrumentationspunkt aufzulisten ist. Sie können mehrere Indikatordaten sammeln, indem Sie mehrere Indikatoroptionen angeben (nur Instrumentation).

Verwenden Sie die folgende Syntax, um die Indikatordaten (cfg) anzugeben:

CounterName[,Reload[,FriendlyName]]

  • CounterName ist der Name eines Zählers, der durch den VSPerfCmd /QueryCounters-Befehl zurückgegeben wird.

  • Reload ist das Samplingintervall des Zählerereignisses. Erneut laden wird ignoriert, wenn Sie die Instrumentationsmethode verwenden.

  • FriendlyName Optional. Wenn angegeben, eine Zeichenfolge, die den CounterName-Wert in Profilerstellungstools-Ansichten und -Berichten ersetzt.

QueryCounters

Zeigt eine Liste mit für die Plattform gültigen Indikatoren an.

WinCounter:path

Gibt einen Windows-Leistungsindikator an, der in den Markierungsdaten enthalten sein soll. path ist eine Windows-Leistungsindikator-Zeichenfolge im PDH-Zählerpfadformat. Beispiele:

\Processor(0)\% Processor Time

\System\Context Switches/sec

AutoMark:n

Gibt das Zeitintervall (in Millisekunden) zwischen automatischen Markierungen an, wenn Sie /WINCOUNTER verwenden. Gerundet auf die nächsten 500 ms.

Verwenden Sie 0, um automatische Markierungen zu deaktivieren. (Standard=500 ms, falls nicht angegeben)

Events:option

EVENTS-Option steuert die Event Trace Window-Ereignissammlung (ETW). Die erfassten Daten werden vom ETW-Anbieter bereitgestellt. Das option Format lautet folgendermaßen:

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

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

guid – die GUID des Steuerelements des Anbieters. Alternativ kann auch der Name eines Anbieters anstatt der GUID angegeben werden, wenn dieser bei WMI registriert ist.

flags – ein mit dem Präfix '0x' versehener hexadezimaler Flagwert. Dieser Wert wird vom Ereignisanbieter definiert. Weitere Informationen finden Sie in der Dokumentation zum ETW-Anbieter.

level – bestimmt die Menge der zu erfassenden Informationen. Dieser Wert wird vom Ereignisanbieter definiert. Weitere Informationen finden Sie in der Dokumentation zum ETW-Anbieter.

Wichtiger Hinweis:
Wenn CLR-ETW-Ereignisse aktiviert sind, werden zusätzliche Startdaten auch im Ablaufverfolgungsansichtsbericht erfasst. Verwenden Sie den folgenden Befehl, um Startereignisse von der Anzeige im Bericht auszuschließen:C:\<Pfad>VSPerfCmd -events on, \".NET Common Language Runtime\", 0x7fffffff, 5 Wenn Sie die Startereignisse nicht ausschließen, da diese Ereignisse nicht in der MOF-Datei (Managed Object Format) angezeigt werden, werden sie im Bericht als GUIDS angezeigt. Weitere Informationen hierzu finden Sie unter Sample Managed Object Format (MOF) File.

Zudem kann die EVENTS-Option mit folgenden allgemeinen Kerneloptionen verwendet werden:

on, option[,option]

wobei option einen der folgenden Werte aufweisen kann:

Process – Prozessereignisse

Thread – Threadereignisse

Image – Abbildlad- und Abbildentladereignisse

Disk – Datenträger-E/A-Ereignisse

File – Datei-E/A-Ereignisse

Hardfault – Hardwareseitenfehler

Pagefault – Softwareseitenfehler

Network – Netzwerkereignisse

Registry - Registrierungszugriffsereignisse

Beachten Sie, dass der Kernelprovider nur aktiviert werden kann. Er ist erst deaktiviert, und seine Flags können erst bearbeitet werden, wenn der Monitor heruntergefahren ist.

Status

Der Status, der für die Prozesse gilt, für die eine Profilerstellung durchgeführt wird. Im Status werden Prozesse und Threads und der zugehörige aktuelle Profilzustand (On/Off) aufgeführt. Wenn ein Prozess z. B. beendet wurde, gibt STATUS dies nicht im Bericht an. Es wird angezeigt, dass für den Prozess ein Profil erstellt wird oder nicht.

ShutDown[:n]

Wartet darauf, dass überwachte Anwendungen heruntergefahren oder getrennt werden, und beendet VSPerfMon.exe und wartet dann darauf, dass der Prozess des Herunterfahrens abgeschlossen wird. Wenn n angegeben ist, wartet VSPerfCmd mindestens n Sekunden. Wenn n nicht angegeben wird, wartet VSPerfCmd endlos lange. Dies vereinfacht die Verwendung von VSPerfCmd im Rahmen eines Batchprozesses.

GlobalOn

Die GLOBALON-Option aktiviert die Profilerstellung nach einem GLOBALOFF. Intern legt die GLOBALON-Option die globale Start/Stop-Anzahl auf 1 fest. Weitere Informationen finden Sie unter GLOBALOFF.

GlobalOff

Die GLOBALOFF-Option deaktiviert alle Profilerstellungen, und es werden keine Daten erfasst. Durch diese Option wird die Leistungssitzung nicht heruntergefahren. Sie können diese Option verwenden, damit während des Anwendungsstarts oder der Initialisierungsphase keine Daten erfasst werden.

So vermeiden Sie das Erfassen irrelevanter Daten

ProcessOn:pid

PROCESSON startet die Profilerstellung eines bestimmten Prozesses mithilfe der zugehörigen Prozess-ID (pid) nach einem Aufruf von PROCESSOFF neu. Intern legt die PROCESSON-Option die Start/Stop-Anzahl für den angegebenen Prozess auf 1 fest.

ProcessOff:pid

Die PROCESSOFF-Option beendet die Profilerstellung und die Datenerfassung eines bestimmten Prozesses mithilfe der zugehörigen Prozess-ID (pid). Andere Prozesse oder Threads setzen die Datenerfassung fort. Dies ist hilfreich, wenn Sie vermeiden möchten, dass Daten erfasst werden, bevor der Prozess einen bestimmten Zustand erreicht. Mithilfe der PROCESSON-Option können Sie die Datenerfassung starten, sobald der Prozess einen bestimmten Zustand erreicht hat. Intern legt PROCESSOFF die Start/Stop-Anzahl für den angegebenen Prozess auf 0 (null) fest.

ThreadOn:tid

THREADON startet die Profilerstellung eines bestimmten Threads mithilfe der zugehörigen Thread-ID (tid) nach einem Aufruf von THREADOFF neu. Intern legt die THREADON-Option die Start/Stop-Anzahl für den angegebenen Thread auf 1 fest.

Diese Option ist nur im TRACE-Modus gültig.

ThreadOff:tid

Die THREADOFF-Option beendet die Profilerstellung und Datenerfassung eines bestimmten Threads mithilfe der zugehörigen Thread-ID (tid).

Andere Prozesse oder Threads setzen die Datenerfassung fort. Dies ist hilfreich, wenn Sie vermeiden möchten, dass Daten erfasst werden, bevor der Thread einen bestimmten Zustand erreicht. Mithilfe der THREADON-Option können Sie die Datenerfassung starten, sobald der Thread einen bestimmten Zustand erreicht hat. Intern legt THREADOFF die Start/Stop-Anzahl für den angegebenen Thread auf 0 (null) fest.

Diese Option ist nur im TRACE-Modus gültig.

MARK:MarkNum[,MarkText]

Fügt eine Markierung in den globalen Ereignisstream ein (optional mit Text). Dies ist hilfreich, wenn Sie die Daten zwischen zwei Markierungen untersuchen möchten.

marknum – ein beliebiger Wert des Datentyps ULONG

Alternativ können Sie die MarkProfile-API im Code anrufen, um bestimmte Bereiche der Anwendung zu kennzeichnen. Diese Informationen sind nur im Aufrufablaufverfolgungsbericht verfügbar.

Optionen der Samplingmethode

Die folgenden Optionen sind nur im SAMPLE-Modus verfügbar:

Option

Beschreibung

Launch:Ausführbar

Startet den angegebenen Befehl und fügt den samplingbasierten Profiler an.

Args:Arguments

Argumente für die gestartete Anwendung.

Console

Startet den angegebenen Befehl in einer neuen Konsole.

Attach:PID[,PID]

Fügt den samplingbasierten Profiler an die angegebenen Prozess-IDs an – PID oder Prozessname.

Detach:PID[,PID]

Trennt den samplingbasierten Profiler von den angegebenen Prozess-IDs – PID oder Prozessname.

Detach

Trennt den samplingbasierten Profiler von allen Prozessen.

GC[:Allocation|:Lifetime]

Diese Option ist nur im Samplingmodus verfügbar. Mit ihr wird die verwaltete Speicherprofilerstellung aktiviert. Es ist möglich, die Ablaufverfolgung nur für Zuordnungen (GC:allocation) oder für Zuordnungen und die Lebensdauer von Objekten (GC:lifetime) zu aktivieren. In der Standardeinstellung wird sie nur für Zuordnungen aktiviert. Gültig nur mit der /LAUNCH-Option.

PF[:n]

Führt ein Sampling bei jedem x-ten Seitenfehler durch (Standard=10).

Sys[:n]

Führt ein Sampling bei jedem x-ten Systemaufruf durch (Standard=10).

Timer[:n]

Führt ein Sampling bei jedem x-ten Zyklus durch (Standard=10000000).

Optionen der Dienstkomponente und Gerätetreiber für den Kernelmodus

Die folgenden Optionen unterstützen Komponenten für Profilerstellungsdienste oder Gerätetreiber für den Kernelmodus. Durch diese Optionen werden die Profilerstellungsberechtigungen festgelegt. Sie müssen von einer Befehlszeilenkonsole unter einem Administratorkonto ausgeführt werden. Weitere Informationen finden Sie unter Using the Run As Command.

Option

Beschreibung

Admin:Security <ALLOW|DENY> Right[ Right] <User|Group>

Gewährt oder verweigert dem angegebenen Benutzer oder der angegebenen Gruppe Zugriff auf die Profilerstellungsdienste.

Right kann Folgendes sein:

CrossSession: Gewährt dem Benutzer Zugriff auf den Dienst für die sitzungsübergreifende Profilerstellung.

SampleProfiling: Gewährt dem Benutzer Zugriff auf den Treiber für die Sampling-Profilerstellung. Wird auch für den Zugriff auf Kernelübergangsinformationen während der Erstellung von Ablaufverfolgungsprofilen verwendet.

FullAccess: Gewährt dem Benutzer Zugriff sowohl auf CrossSession als auch auf SampleProfiling.

Admin:Security, List

Listet den aktuellen Zustand von Profilerstellungsdiensten und Benutzerberechtigungen auf.

Admin: <Dienst|Treiber><START|STOP|INSTALL|UNINSTALL>

Startet, beendet, installiert oder deinstalliert die Komponente (Dienst) für den Profilerstellungsdienst oder den Gerätetreiber (Treiber) für den Kernelmodus.

Admin: <Dienst|Treiber>AutoStart <ON|OFF>

Aktiviert oder deaktiviert den automatischen Start des Profilerstellungsdienstes (Dienst) oder des Gerätetreibers (Treiber) für den Kernelmodus nach einem Neustart.

VsPerfDrv.sys

In früheren Profilerversionen wurde die Erfassung von CPU-Kernelmodusanwendungen mit VSPerfDrv.Sys unterstützt. VsPerfDrv.sys ist veraltet. Verwenden Sie die VsPerfCmd ADMIN-Optionen für diese Funktionalität.

Siehe auch

Referenz

VSInstr

VSPerfMon

VSPerfReport

Definitionen der Spalten in den Berichten der Profilerstellungstools