我有一台运行
Windows 2008 64位Hyper-V的服务器,有8 GB RAM和Intel Xeon X3440 @ 2.53 Ghz,它在主机系统的性能监视器中为我提供了8个逻辑核心.
我已经设置了三台虚拟机,全部运行Windows 2008 32位.
>构建服务器,运行Team City
>临时服务器
> sql Server,运行sql Server 2005
我对设置有一些麻烦,因为主机监视器始终保持响应,即使VM似乎在100%cpu下工作并且非常缓慢且没有响应. (我已经问了一个单独的问题.)
所以这里的问题是:监控物理cpu实际使用情况的最佳方法是什么?我问的原因是我被告知我无法可靠地使用任务管理器来监控VM中的cpu使用情况.
首先,您必须记住,在Hyper-V中,“主机”被称为父分区,它实际上就像具有特殊权限和角色的虚拟客户机一样.就像任何其他子/客户一样,当您打开任务管理器时,您无法在服务器上看到其他子项的cpu使用情况.
本阿姆斯特朗在这里有一个很好的解释:http://blogs.msdn.com/virtual_pc_guy/archive/2008/02/28/hyper-v-virtual-machine-cpu-usage-and-task-manager.aspx
总结一下他的帖子,你需要检查三件事来准确了解cpu利用率:
>查看每个guest虚拟机的cpu使用情况 – 可通过Hyper-V Manager或性能监视器获取.>由于上下文切换导致的cpu使用率 – 这是Hyper-V Hypervisor虚拟处理器下名为%Hypervisor Run Time的perfmon计数器>子分区工作进程 – 在父分区上运行的vmwp.exe(每个子进程1个).这样可以处理Hyper-V操作,例如保存状态.