Partilhar via


Usando perfis Xperf

Esta seção mostra como capturar rastreamentos usando perfis. Se você estiver analisando a memória, considere gravar o rastreamento em um arquivo, pois o ETW grava e não perturba o cache. Se você estiver analisando a E/S do disco, considere salvar o rastreamento em um buffer circular na memória. Também há outras considerações, como se você precisa capturar um rastreamento longo, que não caberia em um buffer na memória ou se você se preocupa apenas com os últimos 5 a 10 segundos do conteúdo do rastreamento.

Procedimento

  1. Selecione um perfil como perf! FileIOProfiles.InBuffer e use um comando semelhante ao exemplo a seguir para exibir informações sobre ele.

    xperf -profiles perf!FileIOProfiles.InBuffer
    

    Esse comando lista todos os perfis, seguidos pelas sessões e provedores nesse perfil:

    Perfil: FileIOProfiles.InBuffer

    Sessões: FileIOProfiles.InBuffer.Sessions

    Sessão: FileIOProfiles.InBuffer.Sessions[0]. Kernel[0]

    Sessão: FileIOProfiles.InBuffer.Sessions[0]. Usuário[0]

    Provedores: FileIOProfiles.InBuffer.Providers

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

    Provedor: FileIOProfiles.InBuffer.Providers[0]. Usuário[0]

  2. Supondo que você tenha escolhido usar um rastreamento baseado em arquivo, inicie um perfil de rastreamento InSequentialFile usando o comando a seguir.

    xperf -start perf!GeneralProfiles.InSequentialFile
    

    Se ocorrer um problema, um erro será relatado. Por exemplo, iniciar o mesmo perfil duas vezes resultaria em um erro de que a sessão já está em execução.

  3. Mostre quais agentes do InSequentialFile já iniciaram para um perfil específico usando o comando a seguir.

    xperf -profileloggers perf!GeneralProfiles.InSequentialFile
    

    A resposta a esse comando é semelhante ao exemplo a seguir.

    Status da sessão para "perf! GeneralProfiles.InSequentialFile":

    "NT Kernel Logger" : executando

    PerfCoreUserSession_InSequentialFile : em execução

  4. Interrompa o perfil de rastreamento InSequentialFile , salve os rastreamentos e mescle-os em um arquivo de rastreamento, como Merged.etl, usando o comando a seguir.

    xperf -stop perf!GeneralProfiles.InSequentialFile merged.etl
    

    Se ocorrer um problema, um erro será relatado.

  5. Inicie o perfil de rastreamento InSequentialFile , substituindo, na hora de início, valores maxbuffers para todas as sessões ETW, para as quais os agentes devem ser iniciados para 256. Para executar essa ação, use o comando a seguir.

    xperf -start perf!GeneralProfiles.InSequentialFile -MaxBuffers 256
    

    Se ocorrer um problema, um erro será relatado.

  6. Atualize os valores de MaxBuffers para os agentes ativos do ETW InSequentialFile especificados no perfil de rastreamento usando o comando a seguir.

    xperf -update perf!GeneralProfiles.InSequentialFile -MaxBuffers 256
    

    Nenhuma resposta é exibida após a emissão desse comando.

Perfis Xperf