Share via


VSPerfCmd

Aggiornamento: novembre 2007

Lo strumento VSPerfCmd consente di avviare e interrompere la raccolta dei dati sulle prestazioni e utilizza la sintassi seguente:

VSPerfCmd [/U] [/options]

Nelle tabelle riportate di seguito sono descritte le opzioni dello strumento VSPerfCmd.

Opzione

Descrizione

U

L'output della console reindirizzato viene scritto come Unicode. Deve essere la prima opzione specificata.

Start:mode

Avvia VSPerfMon e ne attende l'inizializzazione. Richiede l'opzione Output.

Il parametro mode può essere uno dei seguenti:

COVERAGE: raccoglie dati sul code coverage

SAMPLE: raccoglie dati sul campionamento

TRACE: raccoglie dati sulla strumentazione

Output:filename

Consente di specificare il nome del file di output.

CrossSession|CS

Abilita analisi tra processi incrociati. I nomi delle opzioni CROSSSESSION e CS sono entrambi supportati.

User:[domain\]username

Utilizzata con l'opzione START. Consente ai client di accedere al monitor con l'account specificato.

WaitStart[:n]

Attende l'inizializzazione del logger di raccolta dei dati. Se si specifica n, VSPerfCmd attende al massimo n secondi. Se n non viene specificato, l'attesa di VSPerfCmd sarà infinita. In questo modo viene semplificato l'utilizzo di VSPerfCmd durante un processo batch.

Counter:cfg

Quando si utilizza il metodo di analisi mediante campionamento, specifica un contatore CPU e un numero di eventi da utilizzare come intervallo di campionamento. È possibile campionare solo il valore di un contatore.

Quando si utilizza il metodo di analisi tramite strumentazione, specifica un contatore CPU di cui raccogliere di dati per ogni punto di strumentazione. È possibile raccogliere i dati di più contatori specificando più opzioni Counter (solo strumentazione).

Per specificare i dati del contatore (cfg), utilizzare la seguente sintassi:

CounterName[,Reload[,FriendlyName]]

  • CounterName è il nome di un contatore restituito dal comando VSPerfCmd /QueryCounters.

  • Reload è l'intervallo di campionamento degli eventi del contatore. Reload è ignorato quando si utilizza il metodo di strumentazione.

  • FriendlyName è facoltativo. Se specificato, sostituisce il valore di CounterName nelle visualizzazioni e nei report di Strumenti di analisi.

QueryCounters

Visualizza un elenco di contatori validi per la piattaforma.

WinCounter:path

Specifica un contatore delle prestazioni di Windows da includere nei dati contrassegnati. path è una stringa del contatore delle prestazioni di Windows nel percorso del contatore in formato PDH. Esempio:

\Processor (0)\% Processor Time

\System\Context Switches/sec

AutoMark:n

Specifica l'intervallo di tempo (in millisecondi) che intercorre tra contrassegni automatici durante l'utilizzo di /WINCOUNTER. Arrotondato al più vicino 500ms.

Utilizzare 0 per disabilitare i contrassegni automatici. (impostazione predefinita=500ms se non specificato)

Events:option

L'opzione EVENTS controlla la raccolta degli eventi ETW (Event Trace Window). I dati raccolti vengono forniti dal provider ETW. Il formato di option è il seguente:

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

<on | off>, <nome provider>[,flags[,level]]

guid: GUID di controllo del provider. In alternativa, invece del GUID è possibile specificare il nome di un provider se questo è registrato con WMI.

flags: valore di flag esadecimale con prefisso '0x' definito dal provider di eventi. Per ulteriori informazioni, vedere la documentazione ETW provider.

level: determina la quantità di informazioni raccolte ed è definito dal provider di eventi. Per ulteriori informazioni, vedere la documentazione ETW provider.

Nota importante:

Quando gli eventi ETW CLR sono attivati, nel report Trace View vengono raccolti anche altri dati di avvio. Per evitare che gli eventi di avvio vengano visualizzati nel report, utilizzare il comando seguente:

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

Se gli eventi di avvio non vengono esclusi perché non elencati nel file MOF (Managed Object Format), verranno visualizzati come GUID nel report. Per ulteriori informazioni, vedere Sample Managed Object Format (MOF) File.

L'opzione EVENTS riconosce inoltre le opzioni kernel comuni indicate di seguito.

on, option[,option]

in cui l'opzione è una delle seguenti:

Process: eventi di processo

Thread: eventi thread

Image: eventi di caricamento e scaricamento di immagini

Disk: eventi di I/O del disco

File: eventi di I/O file

Hardfault: errori di pagina hardware

Pagefault: errori di pagina software

Network: eventi di rete

Registry: eventi di accesso al Registro di sistema

Il provider di kernel può essere solo attivato. Non è infatti possibile disattivarlo né modificarne i flag fino allo spegnimento del monitor.

Status

Stato applicato ai processi sottoposti ad analisi. Questa opzione elenca i processi e i thread insieme al relativo stato di analisi corrente (On/Off). Nel report, ad esempio, l'opzione STATUS non indica l'interruzione di un processo. Segnala invece se il processo è stato analizzato.

ShutDown[:n]

Attende la chiusura o la disconnessione delle applicazioni monitorate e quindi arresta VSPerfMon.exe e attende il completamento della chiusura. Se si specifica n, VSPerfCmd attende al massimo n secondi. Se n non viene specificato, l'attesa di VSPerfCmd sarà infinita. In questo modo viene semplificato l'utilizzo di VSPerfCmd durante un processo batch.

GlobalOn

L'opzione GLOBALON consente l'analisi dopo l'esecuzione di GLOBALOFF. A livello interno, l'opzione GLOBALON imposta su uno il conteggio globale Start/Stop. Per ulteriori informazioni, vedere GLOBALOFF.

GlobalOff

L'opzione GLOBALOFF disattiva tutte le opzioni di analisi impedendo la raccolta di dati. Questa opzione non chiude la sessione di prestazioni e può essere utilizzata per evitare la raccolta di dati nella fase di avvio o inizializzazione di un'applicazione.

Per evitare la raccolta di dati non rilevanti:

ProcessOn:pid

L'opzione PROCESSON riavvia l'analisi di un processo specifico utilizzando il relativo ID processo (pid) dopo una chiamata a PROCESSOFF. A livello interno, l'opzione PROCESSON imposta su uno il conteggio Start/Stop per il processo specificato.

ProcessOff:pid

L'opzione PROCESSOFF interrompe l'analisi e la raccolta di dati per un processo specifico utilizzando il relativo ID processo (pid). Continua la raccolta dei dati di altri processi o thread. Ciò risulta utile se si desidera evitare la raccolta di dati prima che un processo raggiunga un determinato stato. Dopo il raggiungimento di uno stato specifico di un processo, è possibile utilizzare l'opzione PROCESSON per avviare la raccolta di dati. A livello interno, l'opzione PROCESSOFF imposta su zero il conteggio Start/Stop per il processo specificato.

ThreadOn:tid

L'opzione THREADON riavvia l'analisi di un thread specifico utilizzando il relativo ID thread (tid) dopo una chiamata a THREADOFF. A livello interno, l'opzione THREADON imposta su uno il conteggio Start/Stop per il thread specificato.

Questa opzione è valida solo in modalità TRACE.

ThreadOff:tid

L'opzione THREADOFF interrompe l'analisi e la raccolta di dati per un thread specifico utilizzando il relativo ID thread (tid).

Continua la raccolta dei dati di altri processi o thread. Ciò risulta utile se si desidera evitare la raccolta di dati prima che un thread raggiunga un determinato stato. Dopo il raggiungimento di uno stato specifico di un thread, è possibile utilizzare l'opzione THREADON per avviare la raccolta di dati. A livello interno, l'opzione THREADOFF imposta su zero il conteggio Start/Stop per il thread specificato.

Questa opzione è valida solo in modalità TRACE.

MARK:MarkNum[,MarkText]

Inserisce un contrassegno nel flusso globale di eventi con testo facoltativo. Questa opzione risulta utile per esaminare i dati compresi tra due contrassegni.

marknum: qualsiasi valore con tipo di dati ULONG

In alternativa, è possibile chiamare l'API MarkProfile nel codice per contrassegnare aree specifiche dell'applicazione. Queste informazioni sono disponibili solo nel report Call Trace.

Opzioni del metodo di campionamento

Le opzioni riportate di seguito sono disponibili solo nella modalità SAMPLE.

Opzione

Descrizione

Launch:Eseguibile

Avvia il comando specificato ed esegue la connessione al profiler basato su esempi.

Args:Argomenti

Argomenti per l'applicazione avviata.

Console

Avvia il comando specificato in una nuova console.

Attach:PID[,PID]

Connette il profiler basato su esempi agli ID processo specificati, pid o nome processo.

Detach:PID[,PID]

Disconnette il profiler basato su esempi dagli ID processo specificati, pid o nome processo.

Detach

Disconnette il profiler basato su esempi da tutti i processi.

GC[:Allocation|:Lifetime]

Questa opzione è disponibile solo in modalità campionamento. Attiva l'analisi della memoria gestita. È possibile attivare l'analisi delle sole allocazioni (GC:allocation) o delle allocazioni e della durata degli oggetti (GC:lifetime). Il valore predefinito è per le sole allocazioni. ed è valida solo con l'opzione /LAUNCH.

PF[:n]

Esegue il campionamento su ogni n errore di pagina (impostazione predefinita = 10).

Sys[:n]

Esegue il campionamento su ogni n chiamata di sistema (impostazione predefinita = 10).

Timer[:n]

Esegue il campionamento su ogni n ciclo (impostazione predefinita = 10).

Opzioni del dispositivo della modalità kernel e del componente del servizio

Nelle seguenti opzioni vengono supportati componenti del servizio di analisi o driver di periferica della modalità kernel. Queste opzioni consentono di impostare le autorizzazioni di analisi. Devono essere eseguite come amministratore da una console della riga di comando. Per ulteriori informazioni, vedere Using the Run As Command.

Opzione

Descrizione

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

Consentire o negare al gruppo o all'utente specificato l'accesso ai servizi di analisi.

Può essere Right.

CrossSession - consente all'utente di accedere al servizio per eseguire sessioni incrociate di analisi;

SampleProfiling - consente all'utente di accedere al driver per abilitare l’analisi mediante campionamento. Vengono utilizzate anche per accedere ad informazioni di transizione kernel durante l'analisi;

FullAccess - consente all'utente di accedere alla CrossSession e alla SampleProfiling.

Admin:Security, List

Elenca la stato corrente dei servizi di analisi e le autorizzazioni dell'utente.

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

Avviare, interrompere, installare o disinstallare il componente del servizio di analisi (servizio) o il driver di periferica della modalità kernel (driver).

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

Abilitare o disabilitare automaticamente l’avvio del servizio di analisi (servizio) o del driver di periferica della modalità kernel (driver) dopo un riavvio.

VsPerfDrv.sys

Nelle versioni precedenti il profiler supportava la raccolta da applicazioni CPU in modalità kernel utilizzando il file VSPerfDrv.Sys. VsPerfDrv.sys è obsoleto. Utilizzare le opzioni ADMIN di VsPerfCmd per questa funzionalità.

Vedere anche

Riferimenti

VSInstr

VSPerfMon

VSPerfReport

Definizioni delle colonne dei report degli strumenti di analisi