Nomes de processos diferentes no PerfMon para o mesmo PID

1

Estou tentando confirmar um comportamento que estou vendo ou procurando ajuda para identificar meu problema.

Ao usar o Monitor de Desempenho para coletar dados em várias instâncias do mesmo processo, o mesmo nome de instância é associado a diferentes PIDs. Analisando especificamente os valores \.NET CLR Memory()\Process ID e \Process()\ID Process .

Identifiquei o comportamento com o processo do Microsoft Dynamics Nav Server, dupliquei-o em outro servidor e reproduzi o problema em um terceiro servidor usando o processo w3wp.

Esse comportamento é esperado?

Eu assumi incorretamente que ambos os valores seriam os mesmos?

Meu palpite é que as métricas do .NET lidam com os nomes das instâncias de maneira diferente das outras métricas de desempenho, mas não encontrei nada documentado que suporte essa teoria.

Histórico e como duplicar

Ao tentar coletar dados do Monitor de Desempenho para enviar para o nosso sistema de monitoramento (Zabbix). Devido a como o PerfMon lida com várias instâncias do mesmo processo, estou usando um script Powershell para traduzir de um nome amigável para o nome da instância por meio do PID. Em seguida, uso o nome da instância coletada para extrair as métricas necessárias do PerfMon e relatar de volta usando o nome amigável.

Os seguintes comandos do Powershell fornecem IDs de processo diferentes para o mesmo nome de instância:

PS > (Get-Counter "\Process(microsoft.dynamics.nav.server#3)\ID Process").CounterSamples.CookedValue
3308
PS > (Get-Counter "\.NET CLR Memory(microsoft.dynamics.nav.server#3)\Process ID").CounterSamples.CookedValue
3324

A instância microsoft.dynmaics.nav.server#3 está associada ao PID 3308 e 3324, dependendo de qual métrica você selecionar.

Eu tenho duplicado o problema com o w3wp em outro servidor:

PS > (Get-Counter "\Process(w3wp#2)\ID Process").CounterSamples.CookedValue
5924
PS > (Get-Counter "\.NET CLR Memory(w3wp#2)\Process ID").CounterSamples.CookedValue
4396

A instância w3wp#2 está associada ao PID 5924 e 4396.

Eu também verifiquei os valores diretamente no Monitor de desempenho.

Meu trabalho é apenas extrair os nomes das instâncias uma segunda vez para as métricas baseadas em .NET, para que eu tenha uma solução para o meu processo.

Estou mais tentando entender por que isso é necessário com essa pergunta.

tl; dr; A Microsoft está me iluminando?

    
por Tim P 20.03.2018 / 16:58

0 respostas

Tags