O misterioso desaparecimento do contador de performance “Process”

Recentemente durante o processo de  troubleshoot de um problema de performance pretendia adicionar os seguintes contadores no Perfmon: Process => virtual bytes, working set, pool paged bytes e pool nonpaged bytes. No entanto, deparei-me com o seguinte problema: o contador “Process” não existia na máquina em questão (um Windows 2008 R2):

Lembrei-me de usar um utilitário do Resource Kit do Windows 2000, o exctrlst.exe, para validar as extensões dos Performance counters instalados na máquina. Usei também o Process monitor para verificar quais as entradas do registo que seriam alteradas.

Iniciei a captura com o Procmon e de seguida executei o utilitário exctrlst; procurei pelo contador PerfProc:

 

Seleccionei a opção "Performance Counters Enabled" (a checkbox para este contador em particular não estava seleccionada…) De seguida parei o Procmon e procurei pelas entradas RegSetValue:

 

A seguinte entrada do registry passou de 1 para 0:

Fechei e abri novamente o Perform e já foi possível adicionar os contadores “Process”

 

Caso se pretenda efectuar esta alteração programaticamente em várias máquinas pode-se usar a seguinte linha num batch file:

Reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfProc\Performance /v "Disable Performance Counters" /t REG_DWORD /d 0 /f

 

Links úteis:

exctrlst

https://www.microsoft.com/en-us/download/details.aspx?id=12123

Procmon

https://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

Bom troubleshoot                            

AML