J'ai récemment travaillé sur la compréhension des données ou des mesures stockées dans le fichier d'événements d'événements de santé système.
Nous essayons de mettre en œuvre la collecte de données de mesures de performances en utilisant l'intégrité du système comme indiqué ici
Il existe des rapports qui fournissent des mesures telles que l'UTILISATION DU CPU, l'utilisation d'autres processus, etc., collectées à partir de l'événement d'intégrité du système nommé
scheduler_monitor_system_health_ring_buffer_recorded
Je ne suis pas en mesure de comprendre pour quelques-uns de mes serveurs occupés pourquoi le champ "process_utilization" qui est répertorié dans le rapport comme utilisation du processeur SQL est généralement supérieur à 100. En période de pointe, il varie entre 120-160 et à cause duquel le rapport est montrant toujours le processeur au-dessus de 100, même si je vérifie depuis le moniteur d'activité des serveurs, ce n'est jamais le cas.
J'ai soulevé ce problème dans Github, mais il ne semble pas y avoir de correctif ou de réponse.
Par conséquent, ma question serait
Comment puis-je obtenir un nombre précis d'utilisation du processeur SQL pour mes serveurs à l'aide du tampon d'anneau d'intégrité système enregistré?
Le rapport montre également le compteur pour moins de 2 champs calculés par leur rapport
100-System_idle-process_utilization as OtherProcessUtil
100-system_idle en tant que SystemUtil
À quoi ces autres processus et systèmes sont - ils nécessaires / utiles?
- Je vois également une utilisation de la mémoire à chaque fois toujours égale à 100. Cela ne semble pas correct non plus. Quelqu'un l'a-t-il remarqué?
D'autres outils comme Idera & sentry [que j'ai testé] ne montrent pas une utilisation du processeur supérieure à 100% pour les mêmes serveurs. J'ai fait une comparaison côte à côte pour la même charge.