Utilizzo errato del processo da eventi estesi di integrità del sistema?


10

Di recente ho lavorato sulla comprensione dei dati o delle metriche archiviate nel file degli eventi degli eventi estesi sulla salute del sistema.

Stiamo provando a implementare la raccolta di dati delle metriche delle prestazioni utilizzando lo stato del sistema come fornito qui

Esistono report che forniscono metriche come UTILIZZAZIONE CPU, altro utilizzo del processo ecc. Raccolte dall'evento di integrità del sistema denominato

scheduler_monitor_system_health_ring_buffer_recorded

Non riesco a capire per alcuni dei miei server occupati perché il campo "process_utilization" che è elencato nel rapporto come utilizzo della CPU SQL è il più delle volte superiore a 100. Nelle ore di punta varia tra 120-160 e per cui il rapporto è mostrando sempre CPU sopra 100 anche se quando ho controllato dal monitor attività server non è mai il caso.

Ho sollevato questo problema in Github ma non sembra esserci alcuna correzione o risposta.

Pertanto, la mia domanda sarebbe

  1. Come posso ottenere un numero preciso per l'utilizzo della CPU SQL per i miei server utilizzando il buffer dell'anello di integrità del sistema registrato?

  2. Il rapporto mostra anche il contatore per i 2 campi inferiori calcolati per il loro rapporto

  1. 100-System_idle-process_utilization come OtherProcessUtil

  2. 100-system_idle come SystemUtil

Per cosa sono utili / utili questi OtherProcessUtil e SystemUtil ?

  1. Vedo anche l'utilizzo della memoria ogni volta che viene sempre visualizzato come 100. Anche questo non sembra corretto. Qualcuno l'ha notato?

Altri strumenti come Idera e sentry [che ho testato] non mostrano un utilizzo della CPU superiore al 100% per gli stessi server. Ho fatto un confronto fianco a fianco per lo stesso carico.

Risposte:


1

I valori per i contatori% di disco e processore che superano il 100% Dovrebbero essere divisi per il numero di processori o dischi presenti nel sistema. Quindi il 100% indica che utilizza il 100% di un processore. Il 250% vorrebbe dire che utilizza due processori e mezzo. Quindi, se sta registrando il 120%, vedere se questo è l'equivalente di 120 / <numero di processori>.

Nota che l'ultima modifica a tigertools è stata a giugno 2018. Puoi dare un'occhiata a sqlwatch.io in quanto sembra essere un progetto molto più attivo.

Vedere social.msdn.microsoft.com/Forums/sqlserver/en-US/… e cambiarlo in TOP (1) per ottenere l'attuale utilizzo della CPU SQL.

- Tony Hinkle

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.