为什么Windows 8任务管理器报告虚拟化打开时的实际CPU频率?


5

这个问题中,我问为什么在Windows任务管理器的性能选项卡中没有报告实际的CPU频率。事实证明我在BIOS中打开了虚拟化。当我在BIOS中禁用它时,任务管理器显示实际的CPU频率(我假设所有核心的平均值)。

那么为什么在虚拟化打开时,任务管理器能否报告CPU频率?


即使Hyper-V被禁用,是否会发生?Intel VT在我的BIOS中处于活动状态,但Hyper-V关闭时仍会显示实际频率。也许还有其他软件使用相同的API,但在没有Hyper-V的vanilla Windows 8中,频率仍然会出现。也许你可以列出一些可能利用这些功能的应用程序?(VS 2012 for Windows Phone 8就是其中之一)
Martheen Cahya Paulo

我确实安装了Hyper-V,所以我猜它接管了任务管理器使用的一些API?我没有任何使用它的应用程序,例如Android或Windows Phone开发工具包。

我认为是这样的。更好地编辑你的问题,实际原因是Hyper-V激活,而不是仅仅打开BIOS中的虚拟化
Martheen Cahya Paulo

Answers:


3

标题:显示实际的CPU频率。
在Windows 8上安装(不仅仅是运行)Hyper-V会导致CPU始终以100%运行。我猜微软在速度波动时遇到了虚拟机(VM)的问题。解决这个问题的一种方法是不要让它波动。
我旅行了很多,我必须安装(在Windows功能下打开)并根据我的需要卸载Hyper-V。
我注意到安装了Hyper-V但未运行(我的VM已关机),我的电池续航时间不到2小时。在安装Hyper-V之前,我通常需要6个多小时。
令人惭愧的是我必须权衡VM(电池寿命短)或电池寿命(没有VM)...更糟糕的是它不仅仅是关闭Hyper-V,然后转动它回来。您需要做一些工作来重新设置VM。
此信息基于在Lenovo X1 Carbon上运行的Windows 8.0 Pro以及数小时的实验。我没有在我的Microsoft Surface Pro 2上再次尝试使用Windows 8.1 Pro。
更新:我在Windows 8.1 Surface Pro 2上再次尝试了这一点。结果相同。我还没有在Surface Pro 3上试过它。


2

安装Hyper-V导致电源管理被禁用是不正确的。相反,当安装Hyper-V时,物理计算机上的操作系统(称为“父分区”)只是另一个虚拟机。这与旧的Virtual PC / Virtual Server的工作方式不同。

因此,任务管理器显示您的虚拟CPU,而不是物理CPU。对于虚拟CPU,它只能报告虚拟机管理程序允许其查看的内容。例如,即使您的虚拟机运行负载很高,它也会显示非常低的CPU负载。另一个影响是它无法看到实际的速度。

我有几台运行Hyper-V的服务器,我可以通过CPU-Z确认核心速度在工作负载较少时会下降,并且在负载很大时会上升。

我还在运行Win8.1的笔记本电脑上启用了Hyper-V,即使任务管理器总是为i7-3520M CPU显示2.89 GHz,我也可以使用机器在电池上工作约4-5小时,正常负载,就像没有启用Hyper-V一样。当然,CPU-Z在大多数情况下显示出更低的核心速度(甚至在硬推时甚至高达3.5 GHz)。

也许坏的驱动程序可能会对此产生负面影响,但是它可以在我测试的任何机器上工作而不会弄乱驱动程序或配置(联想Thinkpad笔记本电脑和Supermicro服务器与Xeon E2xxx,E5-xxxx)。


1

这个是正常的。启用Hyper-V角色时,将禁用某些电源管理选项。

至少在我的系统上,CPU实际上是根据当前负载水平进行上下计时; 像CPU-Z这样的实用工具证实了这一点。虽然睡眠和休眠仍然可用(至少在Windows 8.1 Pro上,但不是Windows Server 2008),但您无法限制处理器的时钟频率,这对电池很有用。在任务管理器中不考虑Hyper-V使用的CPU时间,并且主机进程始终优先于Hyper-V来宾; 换句话说,如果主机进程使CPU饱和,任何进程,即使是低优先级进程,都会使Hyper-V guest虚拟机占用CPU时间。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.