Recientemente he estado trabajando para comprender los datos o las métricas que se almacenan en el archivo de eventos de eventos extendidos del estado del sistema.
Estamos tratando de implementar la recopilación de datos de métricas de rendimiento utilizando el estado del sistema como se proporciona aquí
Hay informes que proporcionan métricas como la UTILIZACIÓN de la CPU, la utilización de otros procesos, etc., que se recopilan del evento de mantenimiento del sistema denominado
scheduler_monitor_system_health_ring_buffer_recorded
Para algunos de mis servidores ocupados, no puedo entender por qué el campo "process_utilization" que aparece en el informe como utilización de CPU SQL es mayor a 100. En el tiempo pico varía entre 120-160 y debido a que el informe es siempre mostrando CPU por encima de 100, aunque cuando verifiqué desde el monitor de actividad de los servidores, ese nunca es el caso.
He planteado este problema en Github pero parece que no hay solución o respuesta.
Por lo tanto, mi pregunta sería
¿Cómo puedo obtener un número exacto para la utilización de CPU SQL para mis servidores utilizando el búfer de anillo de estado del sistema registrado?
El informe también muestra el contador de menos de 2 campos calculados por su informe
100-System_idle-process_utilization como OtherProcessUtil
100-system_idle como SystemUtil
¿Para qué son necesarios / útiles estos OtherProcessUtil y SystemUtil ?
- También veo que la utilización de la memoria siempre se muestra como 100. Eso tampoco parece correcto. ¿Alguien lo ha notado?
Otras herramientas como Idera & sentry [que probé] no muestran el uso de CPU por encima del 100% para los mismos servidores. Hice una comparación lado a lado para la misma carga.
fuente