To return the CPU usage by using WMI, do I return the PercentProcessorTime from Win32_PerfFormattedData_PerfOS_Processor
?
If not, which class should I look towards? Thanks.
To get the % CPU usage, you will need to divide it by the # of logical cores that the OS sees. To get get the CPU % usage you would need ( CPU time / # of cores / wall-clock time elapsed ), but otherwise correct.
1. Click Activity > CPU Utilization to display the CPU Utilization report page. 2.To view a graph of data points over time, keep the page open. Data points are graphed every ten seconds.
Check CPU Usage with vmstat Command The vmstat command will display the information about system processes, memory, swap, I/O, and CPU performance. It will display the average details since the last reboot.
It seems like the info is also available in WMI here:
select LoadPercentage from Win32_Processor
"Load capacity of each processor, averaged to the last second. Processor loading refers to the total computing burden for each processor at one time."
OR:
select LoadPercentage from CIM_Processor
"Loading of the processor, averaged over the last minute, in a percentage."
OR:
select PercentProcessorTime from Win32_PerfFormattedData_PerfOS_Processor
also seems to work.
Note: these often return multiple results per CPU core and have to be summed/averaged to get the total CPU usage for the system as a whole, so look for that.
This question and answer really has more to do with WMI since getting info from WMI with C# is really a different question and should be very similar for any WMI query in C#.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With