Como: Anexe o Profiler para um aplicativo ASP.NET a coletar dados de memória usando a linha de comando

Este tópico descreve como usar o Visual Studio Ferramentas de linha de comando de ferramentas de criação de perfil para anexar o profiler para um ASP.NET aplicativo Web e coletar dados sobre o número e o tamanho do.Alocações de memória do NET Framework. Você também pode coletar dados sobre a vida útil do.Objetos de memória do NET Framework.

ObservaçãoObservação

Ferramentas de linha de comando das ferramentas de criação de perfil estão localizadas na subpasta \Team Tools\Performance ferramentas da Visual Studio diretório de instalação. Em computadores de 64 bits, as versões de 64 bits e de 32 bits das ferramentas estão disponíveis. Para usar as ferramentas de linha de comando do profiler, você deve adicionar o caminho de ferramentas para a variável de ambiente PATH da janela do Prompt de comando ou adicioná-lo para o próprio comando. Para obter mais informações, consulte Especificando o caminho para as ferramentas de linha de comando de criação de perfil.

Para coletar dados de desempenho de um ASP.NET aplicativo da Web, você deve usar o VSPerfCLREnv.cmd ferramenta para inicializar as variáveis de ambiente apropriado no computador que hospeda o ASP.NET o aplicativo da Web. Em seguida, reinicie o computador para configurar o servidor Web para a criação de perfil.

Você usar o VSPerfCmd ferramenta para anexar o profiler para o ASP.NET o processo de trabalho que hospeda seu site. Quando o profiler é anexado ao aplicativo, você pode pausar e reiniciar a coleta de dados.

Para finalizar uma sessão de criação de perfil, o profiler não deve ser anexado ao aplicativo e o criador de perfil deve ser desligado explicitamente. Na maioria dos casos, é recomendável limpar as variáveis de ambiente de criação de perfil no final de uma sessão.

Anexar o Profiler

Para anexar o Profiler para um aplicativo ASP.Aplicativo Web do NET

  1. Abra a janela Prompt de Comando.

  2. Inicialize as variáveis de ambiente de criação de perfil. Tipo:

    VSPerfClrEnv {/globalsamplegc | /globalsamplegclife} [/samplelineoff]

    • As opções de /globalsamplegc e /globalsamplegclife especificar o tipo de dados de memória para coletar.

      Especifique uma e apenas uma das opções a seguir.

      Opção

      Descrição

      /globalsamplegc

      Possibilita a coleta de dados de alocação de memória.

      /globalsamplegclife

      Permite a coleta de dados de alocação de memória e de dados de tempo de vida do objeto.

    • A opção /samplelineoff desabilita a atribuição dos dados coletados para linhas de código de origem específica. Se esta opção for especificada, os dados são atribuídos no nível de função.

  3. Reinicie o computador para definir a nova configuração do ambiente.

  4. Abra a janela Prompt de Comando. Se necessário, defina o profiler a variável de ambiente path.

  5. Inicie o profiler. Tipo:

    VSPerfCmd /start:sample /output**:**OutputFileOptions]

    • O /start:sample opção inicializa o profiler.

    • O **/output:**OutputFile opção é necessária com /start. OutputFileEspecifica o nome e o local do arquivo de dados (. vsp) do perfil.

    Você pode usar qualquer uma das seguintes opções com o /start:sample opção.

    ObservaçãoObservação

    O /user e /crosssession opções são geralmente necessárias para o ASP.Aplicativos de NET.

    Opção

    Descrição

    /user:Domain\UserName

    Especifica o nome de usuário e domínio da conta que é proprietária do ASP.Processo de trabalho NET. Esta opção é necessária se o processo está sendo executado como um usuário diferente, por exemplo, o usuário conectado. O proprietário do processo está listado na coluna Nome do usuário na guia processos do Gerenciador de tarefas do Windows.

    /crosssession

    Permite criação de perfil de processos em outras sessões de logon. Esta opção é necessária se o ASP.NET aplicativo está sendo executado em uma sessão diferente. O identificador de sessão está listado na coluna Identificação da sessão na guia processos do Gerenciador de tarefas do Windows. /CSpode ser especificado como uma abreviação de /crosssession.

    /waitstart:Interval]

    Especifica o número de segundos para aguardar o profiler ao inicializar antes de retornar um erro. Se Interval não for especificado, o profiler aguarda indefinidamente. Por padrão, /start retorna imediatamente.

    /wincounter:WinCounterPath

    Especifica um contador de desempenho do Windows a serem coletados durante perfilação.

    /automark:Interval

    Use com /wincounter somente. Especifica o número de milissegundos entre eventos de coleção de contadores de desempenho do Windows. O padrão é 500 ms.

    /Events:Config

    Especifica um evento de rastreamento de eventos para Windows (ETW) a serem coletados durante perfilação. Eventos ETW são coletados em um arquivo separado (. ETL).

  6. Iniciar o ASP.NET o aplicativo da Web no modo típico.

  7. Anexar o profiler para o ASP.NET processo do operador. Tipo:

    VSPerfCmd / conexão:{PID|ProcName} [/targetclr**:**Version

    • A identificação do processo (PID) Especifica a identificação do processo ou o nome do processo da ASP.NET processo do operador. Você pode exibir as identificações de todos os processos em execução de processos no Gerenciador de tarefas do Windows.

    • **/targetclr:**Version Especifica a versão do common language runtime (CLR) para criar o perfil quando mais de uma versão do tempo de execução é carregada em um aplicativo.

Controlar a coleta de dados

Enquanto o aplicativo é executado, você pode controlar a coleta de dados por iniciar e parar a gravação de dados para o arquivo de dados do profiler usando VSPerfCmd.exe Opções. Controlar a coleta de dados permite coletar dados para uma parte específica da execução do programa, como iniciar ou desligar o aplicativo.

Para iniciar e interromper a coleta de dados

  • Os seguintes pares de VSPerfCmd Opções de iniciar e interromper a coleta de dados. Especifica cada opção em uma linha de comando separada. Você pode ativar a coleta de dados de logon e logoff várias vezes.

    Opção

    Descrição

    /globaloff de /GLOBALON

    Inicia (/globalon) ou pára (/globaloff) a coleta de dados para todos os processos.

    /PROCESSON:PID /processoff:PID

    Inicia (/processon) ou pára (/processoff) a coleta de dados para o processo especificado pelo PID.

    /attach:{PID|ProcName} /detach:{PID|:ProcName}]

    /attachcomeça a coletar dados para o processo que é especificado pelo ID do processo ou o nome do processo. /detachpára a coleta de dados para o processo especificado ou para todos os processos se um processo específico não for especificado.

  • Você também pode usar o VSPerfCmd.exe dd255359(v=vs.100).mdmarca/ a opção para inserir uma marca de criação de perfil para o arquivo de dados. O /mark comando adiciona um identificador, um carimbo de hora e uma seqüência de caracteres de um texto opcional definido pelo usuário. Marcas podem ser usadas para filtrar os dados em relatórios do profiler e exibições de dados.

Encerrando a sessão de criação de perfil

Para finalizar uma sessão de criação de perfil, o criador de perfil deve ser separado do aplicativo da Web. Você pode interromper a coleta de dados de um aplicativo é perfilado com o método de amostragem, reiniciando o ASP.NET trabalho de processo ou chamando o VSPerfCmd /detach opção. Em seguida, chamar o VSPerfCmd /shutdown opção para desativar o profiler e feche o arquivo de dados de criação de perfil. O VSPerfClrEnv /globaloff comando limpa as variáveis de ambiente de criação de perfil, mas a configuração do sistema não é redefinida quando o computador é reiniciado.

Para finalizar uma sessão de criação de perfil

  1. Execute uma das seguintes etapas para desconectar o gerador de perfil do aplicativo de destino:

    • Tipo de VSPerfCmd / Desanexar

      - ou -

    • Fechar o ASP.NET processo do operador. Tipo:

    IISReset /stop

  2. Desligar o profiler. Tipo:

    VSPerfCmd /shutdown

  3. (Opcional) Desmarque as variáveis de ambiente de criação de perfil. Tipo:

    VSPerfCmd /globaloff

  4. Reinicie o computador. Se necessário, reinicie o Internet Information Services (IIS). Tipo:

    IISReset /start

Consulte também

Conceitos

Criação de perfil de linha de comando do ASP.NET da Web

Outros recursos

Ferramentas de criação de perfil.Exibições de dados de memória de NET