Condividi tramite


Uso dei profili Xperf

Questa sezione illustra come acquisire le tracce usando i profili. Se si sta analizzando la memoria, è consigliabile scrivere la traccia in un file, perché ETW scrive e non disturba la cache. Se si analizza l'I/O del disco, è consigliabile salvare la traccia in un buffer circolare in memoria. Esistono anche altre considerazioni, ad esempio se è necessario acquisire una traccia lunga, che non si adatta a un buffer in memoria o se si occupa solo degli ultimi 5-10 secondi del contenuto di traccia.

Procedura

  1. Selezionare un profilo, ad esempio perf! FileIOProfiles.InBuffer e usare il comando simile all'esempio seguente per visualizzare informazioni su di esso.

    xperf -profiles perf!FileIOProfiles.InBuffer
    

    Questo comando elenca tutti i profili, seguiti dalle sessioni e dai provider di tale profilo:

    Profilo: FileIOProfiles.InBuffer

    Sessioni: FileIOProfiles.InBuffer.Sessions

    Sessione: FileIOProfiles.InBuffer.Sessions[0]. Kernel[0]

    Sessione: FileIOProfiles.InBuffer.Sessions[0]. Utente[0]

    Provider: FileIOProfiles.InBuffer.Providers

    Provider: FileIOProfiles.InBuffer.Providers[0]. Kernel[0]

    Provider: FileIOProfiles.InBuffer.Providers[0]. Utente[0]

  2. Supponendo che si sia scelto di usare una traccia basata su file, avviare un profilo di traccia InSequentialFile usando il comando seguente.

    xperf -start perf!GeneralProfiles.InSequentialFile
    

    Se si verifica un problema, viene segnalato un errore. Ad esempio, l'avvio dello stesso profilo due volte comporta un errore che la sessione è già in esecuzione.

  3. Visualizzare i loggger InSequentialFile già avviati per un profilo specifico usando il comando seguente.

    xperf -profileloggers perf!GeneralProfiles.InSequentialFile
    

    La risposta a questo comando è simile all'esempio seguente.

    Stato sessione per "perf! GeneralProfiles.InSequentialFile":

    "NT Kernel Logger" : Esecuzione

    PerfCoreUserSession_InSequentialFile : esecuzione

  4. Arrestare il profilo di traccia InSequentialFile , salvare le tracce e quindi unire le tracce in un file di traccia, ad esempio Merge.etl, usando il comando seguente.

    xperf -stop perf!GeneralProfiles.InSequentialFile merged.etl
    

    Se si verifica un problema, viene segnalato un errore.

  5. Avviare il profilo di traccia InSequentialFile , eseguendo l'override, all'ora di inizio, i valori MaxBuffers per tutte le sessioni ETW, per cui i loggger devono essere avviati a 256. Per eseguire questa azione, usare il comando seguente.

    xperf -start perf!GeneralProfiles.InSequentialFile -MaxBuffers 256
    

    Se si verifica un problema, viene segnalato un errore.

  6. Aggiornare i valori Di MaxBuffers per i loggers InSequentialFile ETW attivi specificati nel profilo di traccia usando il comando seguente.

    xperf -update perf!GeneralProfiles.InSequentialFile -MaxBuffers 256
    

    Nessuna risposta viene visualizzata dopo l'emissione di questo comando.

Profili Xperf