CPU usage not correctly reported with HyperV

slipknottin

New Member
Windows 10. HWinfo works fine otherwise. No crashes or anything. 

But it seems it's only reporting CPU usage of the main OS itself.  Comparing to device manager I can see something like 60% CPU usage when one of the hyperv clients is doing something. But hwinfo is only reporting like 4-5% usage
 
Supporting virtual machine systems in such tools is always problematic, as the main goal of virtualization is to mask true parameters of the main system.
In most cases it's not possible for any application running inside a guest OS to know true parameters of the host (unless the hypervisor allows it). Otherwise it would be a breach of fundamental virtualization principles.
Are you running HWiNFO inside the guest OS?
 
Martin said:
Supporting virtual machine systems in such tools is always problematic, as the main goal of virtualization is to mask true parameters of the main system.
In most cases it's not possible for any application running inside a guest OS to know true parameters of the host (unless the hypervisor allows it). Otherwise it would be a breach of fundamental virtualization principles.
Are you running HWiNFO inside the guest OS?

I am not running HWiNFO in the guests, just the main pc.  How does task manager get the actual values of cpu usage?
 
I'm sorry, I don't know how does Task Manager calculate it. That's an internal Microsoft knowledge.
So the main OS reports 60%, but HWiNFO just 4-5% ? Can you please attach a screenshot of both Task Manager and HWiNFO showing usage values?
 
Hi @Martin

i know this is a pretty old thread and i've also read the virtual machine warning in hwinfo when hyper-v is turned on.
I've also read a few other threads regarding hwinfo not displaying real values in combination with hyper-v...

i guess you are aware of that, but these issues still exist.

i'm using Windows Server 2019 as hypervisor with 10 vms running on it.
i've installed hwinfo on the host system and i'm getting the exact same problem as thread creator:

Task Manager and Performance Monitor are reporting a constant total cpu usage between 15%-22%.
HWiNFO however tells me a constant total cpu usage of 2%-4%, which definitely can't be the truth.
1631800184045.png

HWiNFO seems to also read IPMI sensor data but here it's the other way round:
HWiNFO tells me a constant cpu utilization of 58 - 68 and IPMI(iLO) shows the truth like Task Manager and Perfmon with ~20%
1631800494764.png

I understand that if HWiNFO is running inside a guest vm it can't get the real sensor data. Makes sense !
I don't understand why HWiNFO is displaying obviously wrong values, when it's installed on the host system, which just additionally acts as a hypervisor.
I also don't understand why HWiNFO is displaying wrong values of IPMI sensor data, which in fact shouldn't have to do anything with hyper-v should it ?

I would love to use HWiNFO as an additional monitoring tool for my servers and the servers of my customers, but without reliable values this doesn't make much sense...

So my question is: is this due to some technical reasons how HWiNFO is fetching its data and there is no hope this will change anytime because it would require to rewrite HWiNFO from scratch ?
or is it just a bug or an issue which can be fixed ?

i've attached log also if it helps.

best greetz
 

Attachments

  • DL380.txt
    329.3 KB · Views: 1
The first difference between CPU usage and Task Manager is inherent to all Windows 10 systems regardless of Hyper-V. I'm still not sure why this is so as discussed in the other threads. Perhaps Windows 10 is using some other counters to report usage, or applies some correction factor. I have done some tests in the past by putting exact load (also using reference Intel tools) on certain cores and HWiNFO was reporting correct (expected) usage while Windows was always over-reporting.
The other issue in IPMI might be a bug in HWiNFO. Please attach the HWiNFO Debug File so I can see more details and check how to fix this.
 
Thanks. I have analyzed the raw data and CPU Utilization from IPMI shown by HWiNFO is the correct value as read from IPMI. I'm not sure why there is such a difference, it's quite possible that reading so many values from IPMI is causing an increased load, so it's kind of an observer effect. You might verify this by enabling the Profiling Time column in HWiNFO and disabling readout of the other IPMI values (hit Del key over a particular value).
 
Hi Martin,
i'm afraid this observer effect does not happen.
My server is running for years pretty stable regarding power draw, cpu temperature and fan speed.
I've installed hwinfo about 3 weeks ago.
If hwinfo would cause such a high cpu load i would have noticed this in higher cpu temperature or higher fan speed or higher power draw...

So i'm rather sure HWiNFO is misinterpreting cpu load value from IPMI, like it is obviously misinterpreting cpu load value from windows...

I've tried your suggestions, but didn't notice any differences:
1632138466052.png
 
Thanks for the results. I'm still wondering about the difference in IPMI, could you please note a few different utilization values in HWiNFO and iLO at the same time (very low, low, mid, high load) ? I'd like to check those numbers if there's perhaps some linear correlation between them and some correlation factor needs to be applied.
 
The first difference between CPU usage and Task Manager is inherent to all Windows 10 systems regardless of Hyper-V. I'm still not sure why this is so as discussed in the other threads. Perhaps Windows 10 is using some other counters to report usage, or applies some correction factor.
It seems that Windows Task Manager shows utility instead of utilization:

More on it here:
 
Back
Top