Como: Anexar o Profiler para um.NET Service para coletar os dados da 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 .NET Framework de serviço e coletar dados de memória. Você pode coletar dados sobre o número e tamanho de alocações de memória e você também pode coletar dados sobre o tempo de vida dos objetos de memória.
Observaçã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 memória de um .NET Framework o serviço, use o VSPerfCLREnv.cmd ferramenta para inicializar as variáveis de ambiente apropriado no computador que hospeda o serviço. O computador deve ser reiniciado para configurá-lo para a criação de perfil.
Você usar o VSPerfCmd ferramenta para anexar o profiler para o processo de serviço. Enquanto o profiler é anexado ao serviço, você pode pausar e reiniciar a coleta de dados.
Para finalizar uma sessão de criação de perfil, o criador de perfil deve ser desanexado do serviço 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.NET Framework service
Se necessário, instale o serviço.
Abra uma janela de prompt de comando.
Inicialize as variáveis de ambiente de criação de perfil. Tipo:
VSPerfClrEnv {/globalsamplegc /globalsamplegclife}[/samplelineoff]
- As opções de /globalsamplegclife e /globalsamplegclife especificar o tipo de dados de memória para coletar. Especifique uma e apenas uma das opções a seguir.
/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.
- O /samplelineoff opção desativa a coleção de origem código linha número dados.
Reinicie o computador para definir a nova configuração do ambiente.
Se necessário, inicie o serviço.
Abra uma janela de prompt de comando. Se necessário, adicione o caminho do profiler para a variável de ambiente PATH.
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 um ou mais das seguintes opções com o /start:sample opção.
Observação O /user e /crosssession opções são geralmente necessárias para serviços.
Opção
Descrição
/user:Domain\UserName
Especifica o nome de usuário e domínio da conta que possui o processo. 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.
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. A identificação da sessão é listada na coluna de ID de sessão na guia processos do Gerenciador de tarefas do Windows. /CSpode ser especificado como uma abreviação de /crosssession.
/user:Domain\UserName
Especifica o nome de domínio e de usuário opcional da conta de logon, na qual o serviço é executado. A conta de logon está listada na coluna fazer logon como o serviço Gerenciador de controle de serviços do Windows.
Permite criação de perfil de processos em outras sessões de logon.
/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).
Anexe o profiler ao serviço. Tipo:
VSPerfCmd / conexão:{PID|ProcName} [/targetclr**:**Version
Especifique a identificação do processo ou o nome do processo do serviço. Você pode exibir os IDs de processo e os nomes de todos os processos em execução no Gerenciador de tarefas do Windows.
**targetclr:**VersionEspecifica 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. Opcional.
Controlar a coleta de dados
Enquanto o serviço é executado, você pode usar VSPerfCmd.exe Opções para parar e iniciar a gravação de dados no arquivo de dados do profiler. Controlar a coleta de dados permite que você colete 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
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 ID do processo (PID).
/attach:{PID|ProcName} /detach[:{PID|ProcName}]
/attachcomeça a coletar dados para o processo 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 profiler deve não ser coletando dados. Você pode interromper a coleta de dados de um aplicativo perfilado com o método de amostragem, interrompendo o serviço 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
Faça o seguinte para desanexar o criador de perfil do aplicativo de destino:
Pare o serviço.
- ou -
TipoVSPerfCmd /detach
Desligar o profiler. Tipo:
VSPerfCmd /shutdown
(Opcional) Desmarque as variáveis de ambiente de criação de perfil. Tipo:
VSPerfClrEnv /globaloff
Reinicie o computador.
Consulte também
Conceitos
Criação de perfil de linha de comando dos serviços
Outros recursos
Ferramentas de criação de perfil.Exibições de dados de memória de NET