Como posso registrar os processos mais intensivos em CPU em intervalos regulares?

1

Eu tenho um servidor que está ocioso abaixo de 5% da carga da CPU na maioria das vezes, exceto em algumas poucas vezes por dia em que posso ver alguns picos menores de cpu. Eu descobri isso usando o PRTG.

Como posso descobrir qual processo está causando os picos de CPU? É fácil monitorar a carga da CPU da WMI com o PRTG, mas o que eu realmente preciso também é uma maneira de registrar os processos mais intensivos da CPU em intervalos regulares.

Eu acho que isso pode ser feito com perfmon, mas quais contadores de desempenho eu preciso para este trabalho?

Obrigado,

Adrian

    
por Adrian Grigore 03.01.2013 / 23:46

1 resposta

1

Os Conjuntos de Coletores de Dados são bons, profissionais e podem ser acionados por um evento como ... alto uso da CPU.

Você também pode usar o Powershell.

$proc = Get-Process | Sort-Object TotalProcessorTime -Descending -EA 0 | Select -First 1
"$(Get-Date) - $($proc.Name) - $($proc.TotalProcessorTime)" | Out-File file.txt -Append

Salve isso como um * .ps1. Execute-o como uma tarefa agendada a cada 5 minutos ou qualquer outra coisa. A primeira linha encontra o processo mais "intensivo" da CPU no momento. A segunda linha registra em um arquivo com um registro de data e hora.

Você também pode obter o máximo que puder imaginar, fazendo com que o script seja registrado apenas se o uso total da CPU do sistema for superior a 99% ou algo parecido. O céu é o limite.

    
por 04.01.2013 / 01:48