I have been recently working on understanding the data or metrics being stored in system health extended events event file.
We are trying to implement the data collection of performance metrics using system health as provided here
There are reports that gives metrics like CPU UTILIZATION, other process utilization etc being collected from system health event named
I am not able to understand for few of my busy servers why the field "process_utilization" which is listed in report as SQL CPU utilization be most of time above 100. IN peak time it varies between 120-160 and because of which the report is always showing CPU above 100 even though when i checked from servers activity monitor that's never the case.
I've raised this issue in Github but seems like no fix or response.
Therefore, my question would be
How can i get accurate number for SQL CPU utilization for my servers using system health ring buffer recorded?
Report also shows counter for below 2 fields calculated per their report
100-System_idle-process_utilization as OtherProcessUtil
100-system_idle as SystemUtil
What are these OtherProcessUtil and SystemUtil needed/helpful for ?
- I also see memory utilization every time always showing as 100. That does not seem correct as well. Has anyone noticed it?
Other tools like Idera & sentry [which i tested] do not show CPU usage above 100 % for the same servers. I did a side by side comparison for same load.