- A+
当Windows 操作系统运行在Hyper-V平台上时,任务管理器很可能无法正确报告系统的资源信息,因为CPU等系统资源都是由Hypervisor层来管理和分配的。比如,我们在虚机中看到操作系统的CPU使用率是100%,那CPU使用率真的是100%吗?
“在 Hyper-V 虚拟机中运行来宾操作系统时所产生的CPU 开销的范围是 9% 到 12%。例如,在 Hyper-V 虚拟机中运行的来宾操作系统通常有 88–91% 的空闲 CPU 资源可用于在物理硬件上运行的对等操作系统。”
http://msdn.microsoft.com/en-us/library/cc768536(v=bts.10).aspx
那有什么工具可以很直观地呈现Hyper-V平台下各虚拟机的性能以帮助理解和必要时候的排查呢?MVP Tim Mangan 开发了HyperV_Mon这个工具,而且是免费发布的,现在的最新版本是2010年12月29日发布的1.8版本,可以到这里下载。
http://www.tmurgent.com/Tools.aspx
这个工具支持Hyper-V和Hyper-V R2,免安装,双击就可以运行。在WMI访问允许Hyper-V父分区的条件下,你可以直接在装有Hyper-V的Server 2008/2008 R2的主机上本地运行此工具,或点选Configure按钮配置你需要连接的Hyper-V主机名称或IP地址实现远程访问。出于对服务器影响最小化的考虑,推荐后者的访问方式。
初看这个界面你就会觉得界面的布局和下面一张Hyper-V的架构图很相似。界面的最下面黑色区域代表硬件层,包含了硬件信息的描述,中间的Hypervisor层区域,Total代表看到物理CPU的总使用率, Guest代表包括了父分区以及其他正在运行的VM操作系统的总使用率,注意,关键词是包括了父分区和正在运行。HvOh表示Hypervisor Overhead,这里的HvOh表示Hypervisor层自己的开销,它的开销数据代表着父分区和其他VM的开销。左上方蓝色区域为父分区,它的HvOh开销多为文件或者网络的I/O,更多地最终表现为与虚拟机沟通过程相关的开销。而右上方黄色区域描述了正在运行的虚拟机的信息,这些将在下面的例子中展开说明。稍稍说明一下的是,Memory和I/O功能显示在工具新版本中的功能,在看使用文档HyperV_Mon.pdf和看我的截图的时候,你可能有这样的疑问,例如会问为什么我截图中4台虚拟机有3台的Memory和I/O信息没有显示出来。这是正常的,因为这些虚拟机没有开启对父分区的WMI访问允许。