Como: anexar o Profiler para um.NET Service para coletar dados de memória usando a linha de comando
Este tópico descreve como usar Visual Studio ferramentas para traçar perfil de linha de comando de ferramentas para anexar o profiler a um serviço de .NET Framework e para coletar dados de memória.Você pode coletar dados sobre o número e o tamanho das alocações de memória, e você também pode coletar dados sobre o tempo de vida de objetos de memória.
Observação |
---|
Os recursos avançados de segurança no windows 8 e Windows Server 2012 necessárias alterações significativas de forma que o profiler do Visual Studio coleta dados em essas plataformas.Os apps de armazenamento do windows também requerem novas técnicas de coleção.Consulte Criando perfis de aplicativos do Windows 8 e Windows Server 2012. |
Observação |
---|
Ferramentas de linha de comando de ferramentas para estão localizadas no subdiretório \ ferramentas de equipe \ ferramentas de desempenho o diretório de instalação de Visual Studio .Em os computadores de 64 bits, de 64 bits e em versões de 32 bits de ferramentas está disponível.Para usar as ferramentas de linha de comando profiler, você deve adicionar o caminho de ferramentas para a variável de ambiente PATH da janela do prompt de comando ou adicioná-lo ao comando próprio.Para obter mais informações, consulte Especificando o caminho para a criação de perfil de ferramentas de linha de comando. |
Para coletar dados de memória de um serviço de .NET Framework , você usa a ferramenta de VSPerfCLREnv.cmd para inicializar variáveis de ambiente apropriadas no computador que hospeda o serviço.O computador deve ser reiniciado configurá-lo para analisar.
Você usa a ferramenta de VSPerfCmd para anexar o profiler ao processo de serviço.Quando o profiler é anexado ao serviço, você pode pausar e continuar a coleção de dados.
Para finalizar a uma sessão, o profiler deve ser desanexado de serviço e o profiler deve ser explicitamente fechado.Em a maioria dos casos, recomendamos desmarque as variáveis de ambiente a no final de uma sessão.
Anexando o profiler
Para anexar o profiler a um serviço do .NET Framework
Se necessário, instalar o serviço.
Abra uma janela de prompt de comando.
Inicializar variáveis de ambiente a.Tipo:
VSPerfClrEnv {/globalsamplegc /globalsamplegclife}[/samplelineoff]
- As opções /globalsamplegclife e /globalsamplegclife especifica o tipo de dados de memória para coletar.Especifique uma e apenas uma das seguintes opções.
/globalsamplegc
Permite que a coleção de dados de alocação de memória./globalsamplegclife
Permite que a coleção de dados de alocação de memória e dados da vida útil de objeto.
- A opção de /samplelineoff desativa a coleção de dados linha de código-fonte de número.
Reinicie o computador para definir a nova configuração de ambiente.
Se necessário, inicia serviço o.
Abra uma janela de prompt de comando.Se necessário, adicione o caminho profiler à variável de ambiente PATH.
Ligue o profiler.Tipo:
VSPerfCmd /start:sample /output**:**OutputFile[Options]
A opção /start:sample inicializa o profiler.
A opção de **/output:**OutputFile é necessária com /start.OutputFile especifica o nome e o local de dados a .vsp () autônomos.
Você pode usar uma ou mais das seguintes opções com a opção de /start:sample .
Observação As opções de /user e de /crosssession geralmente são necessárias para serviços.
Opção
Descrição
/user:[Domain\UserName]
Especifica o domínio e o nome da conta de usuário que possui o processo.Essa opção é necessária se o processo está sendo executado como um usuário diferente do usuário autorizado.O proprietário do processo é listado na coluna do nome de usuário na guia dos processos do gerenciador de tarefas do windows.
Permite analisar os processos em outras sessões de logon.Essa opção é necessária se o aplicativo ASP.NET está executando em uma sessão diferente.A identificação da sessão é listada na coluna de identificação de sessão no guia dos processos do gerenciador de tarefas do windows./CS pode ser especificado como uma abreviação para /crosssession.
/user:[Domain\UserName]
Especifica o domínio e o nome de usuário opcionais da conta de logon em que o serviço é executado.A conta de logon é listada no logon como a coluna do serviço no gerenciador de controle de serviço do Windows.
Permite analisar os processos em outras sessões de logon.
/wincounter:WinCounterPath
Especifica o windows que o desempenho ao contrário de é coletado durante a análise.
/automark:Interval
Uso com /wincounter somente.Especifica o número de milissegundos entre eventos de coleção contador de desempenho do windows.O padrão é ms 500.
/events:Config
Especifica um rastreamento de evento para o evento do windows (ETW) é coletado durante a análise.Os eventos de ETW são coletados em um arquivo separado .etl ().
Anexar o profiler para o serviço.Tipo:
VSPerfCmd/attach:{PID|ProcName} [/targetclr**:**Version]
Especificar a identificação de processo ou o nome do processo de 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:**Version especifica a versão do common language runtime (CLR) para analisar quando mais de uma versão do runtime é carregada em um aplicativo.Opcional.
Coleta de dados de controle
Quando o serviço executar, você pode usar opções de VSPerfCmd.exe parar e iniciar a escrita de dados no arquivo de dados profiler.A coleção de dados de controle permite que você reunir dados para uma parte específica de execução do programa, como iniciar ou feche o aplicativo.
Para iniciar e parar a coleção de dados
Os seguintes pares de opções de VSPerfCmd começam e param a coleção de dados.Especifique cada opção em uma linha separada de comando.Você pode desativar a coleção de dados em e várias vezes.
Opção
Descrição
Inicia/globalon() ou coleção de dados paradas de/globaloff() para todos os processos.
/processon:PID/processoff:PID
Inicia/processon() ou coleção de dados paradas de/processoff() para o processo especificado pela identificação de processo (PID).
/attach:{PID|ProcName} /detach[: {PID|ProcName}]
Inicia de/attach para coletar dados para o processo especificado pelo nome de identificação de processo ou do processo./detach para coleta de dados para o processo especificado, ou para todos os processos se um determinado processo não é especificado.
Você também pode usar a opção de VSPerfCmd.exe/mark insira uma marca para no arquivo de dados.o comando de /mark adiciona um identificador, um carimbo de data/hora, e uma cadeia de caracteres de texto definido pelo usuário opcional.As marcas podem ser usadas para filtrar os dados nos relatórios profiler e em modos de exibição de dados.
Terminando à sessão
Para finalizar a uma sessão, o profiler não deve coletar dados.Você pode parar a coleção de dados de um aplicativo analisado com o método de amostragem parando o serviço ou chamando a opção de VSPerfCmd /detach .Você chama a opção de VSPerfCmd/shutdown desativar o profiler e feche o arquivo de dados para.O comando de VSPerfClrEnv /globaloff limpa todas as variáveis de ambiente a, mas a configuração de sistema não é reiniciada até que o computador está reiniciado.
Para finalizar a uma sessão
Siga um de estes desanexar para o profiler do aplicativo alvo:
Interromper o serviço.
- ou -
Digite VSPerfCmd /detach
Feche o profiler.Tipo:
VSPerfCmd /shutdown
(Opcional) desmarque a variáveis de ambiente.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.Modos de exibição de dados de memória de NET