Utilização incorreta do processo dos eventos estendidos da integridade do sistema?

10

Eu tenho trabalhado recentemente na compreensão dos dados ou métricas armazenados no arquivo de eventos de eventos estendidos da integridade do sistema.

Estamos tentando implementar a coleta de dados de métricas de desempenho usando a integridade do sistema, conforme fornecido aqui

Existem relatórios que fornecem métricas como CPU UTILIZATION, outras utilizações de processos, etc., sendo coletadas do evento de integridade do sistema chamado

scheduler_monitor_system_health_ring_buffer_recorded

Não consigo entender para alguns dos meus servidores ocupados por que o campo "process_utilization", listado no relatório como utilização da CPU do SQL, fica na maioria das vezes acima de 100. No horário de pico, ele varia entre 120-160 e por causa do qual o relatório é sempre mostrando a CPU acima de 100, embora, quando verifiquei no monitor de atividade dos servidores, esse nunca seja o caso.

Eu levantei esse problema no Github, mas parece não ter solução ou resposta.

Portanto, minha pergunta seria

  1. Como posso obter um número preciso de utilização da CPU SQL para meus servidores usando o buffer de integridade do sistema gravado?

  2. O relatório também mostra o contador para abaixo de 2 campos calculados por seu relatório

  1. 100-System_idle-process_utilization como OtherProcessUtil

  2. 100-system_idle como SystemUtil

Para que esses OtherProcessUtil e SystemUtil são necessários / úteis?

  1. Também vejo a utilização da memória sempre mostrando como 100. Isso também não parece correto. Alguém já reparou?

Outras ferramentas como Idera e sentry [que testei] não mostram o uso da CPU acima de 100% para os mesmos servidores. Fiz uma comparação lado a lado para a mesma carga.

BeginnerDBA
fonte

Respostas:

1

Os valores dos contadores de% de disco e processador que ultrapassam 100% devem ser divididos pelo número de processadores ou discos presentes no sistema. Então 100% significa que está usando 100% de um processador. 250% significaria usar dois processadores e meio. Portanto, se estiver relatando 120%, veja se isso equivale a 120 / <número de processadores>.

Observe que a última alteração no tigertools foi em junho de 2018. Você pode conferir o sqlwatch.io , pois parece ser um projeto muito mais ativo.

Consulte social.msdn.microsoft.com/Forums/sqlserver/en-US/… e altere-o para TOP (1) para obter o uso atual da CPU do SQL.

- Tony Hinkle

mv ٠〳comment ٠〳answer
fonte