当试图做一些科学来回答这个问题时 ,我在由SCVMM 2012pipe理的Server 2008 R2主机上使用了Windows 7来宾,并在其上运行Prime95来产生一些CPU使用率。
这是客人:

Hyper-V主机显示12%,这是1/8核心(这是分配的),所以看起来是正确的:

但是SCVMM显示0%:

我已经离开了很长一段时间的压力testing,认为可能SCVMM平均了很长一段时间(我认为这是9分钟,但我知道是错的,只是不告诉我的妻子)。
为什么SCVMM在其他方面似乎不同意时显示0%?
来自SCVMM工程博客:
Hyper-V主机为物理主机和驻留在其上的虚拟机公开某些性能计数器。 SCVMM Server通过WSMAN与每台Hyper-V主机进行通信,以收集主机及其虚拟机的这些性能指标。 SCVMM直接从主机收集虚拟机性能指标,因为虚拟机了解其真实性能的一些限制。 这里解释了一些有趣的指标。
1-主机CPU平均值在SCVMM控制台中显示为“Hyper-V虚拟机pipe理程序逻辑处理器(_Total)”计数器集***的“%总运行时间”计数器在过去9分钟的平均值。 该计数器捕获主机(父分区)和VM上引起的处理器利用率。 此值和其他主机性能指标可作为SCVMM控制台中Refresh-VMHost或Refresh任务的一部分按需刷新。 请注意,此值与主机的任务pipe理器或%处理器时间(_Total)计数器显示的值不同,后者仅考虑父分区的使用情况。
2- VM CPU平均值作为“Hyper-V虚拟机监控程序虚拟处理器(_Total)”计数器集的“%Guest Guest Time”计数器显示在SCVMM控制台中。 这是运行虚拟机的虚拟处理器花费的时间百分比。 由于Hyper-V允许控制多less个处理器以及它们的容量百分比可以分配给一个VM,所以Guest Run Time计数器值永远不会超过指定的限制(见下图)。 请注意,这与Hyper-V控制台中显示的VM CPU%非常不同,其中CPU利用率显示为VM Host Logical Processors利用率。
所以SCVMM使用WinRM(WSMan的Windows实现)来收集这些性能计数器。 您能否build立从您的SCVMM服务器到Hyper-V主机的WinRM会话? 你可以远程查询这些计数器吗? (它们可能位于虚拟化名称空间下,而不是CIMV2名称空间。)
日志中是否有关于SCVMM无法为这些计数器收集数据的内容?
另外,如果您的Hyper-V主机尚未启用并正在收听,请尝试“winrm quickconfig”或“winrm qc”。
testing远程WinRMfunction
在提升的命令提示符下键入:
winrm id -r:remoteserver
这应该产生类似于下面的输出:
winrm id -r:vmmr2lab-cl20
IdentifyResponse
ProtocolVersion = http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor = Microsoft Corporation ProductVersion = OS:6.1.7201 SP:0.0 Stack:2.0
如果出现下面这样的错误,这意味着WinRM在远程机器上没有正确设置,或者在两个系统之间的WinRM端口上有阻止通信的情况。 这可能是一个防火墙或防病毒/恶意软件程序。
WSManFault
消息= WinRM客户端无法在指定的时间内完成操作。 检查计算机名称是否有效并可通过networking访问,并且启用了Windows远程pipe理服务的防火墙例外。
错误号码:-2144108250 0x80338126
WinRM客户端无法在指定的时间内完成操作。 检查
如果计算机名称有效且可通过networking访问,并且启用了Windows远程pipe理服务的防火墙例外。
在这种情况下,testing远程系统上的本地WinRMfunction。 如果WinRM在远程系统上configuration正确,那么原因很可能是两台机器之间的networking通信。 解决这个问题,就像任何networking问题一样。