locked
Hyper-V CPU使用率问题 RRS feed

  • 问题

  • 我这里服务器两颗4核CPU,24G内存,运行win2012 Hyper-V

    创建了8台虚拟机,每台虚拟机都设置8个逻辑处理器,虚拟机保留0,虚拟限制100,相对权重100。所有虚拟机都在开机,正常运行。

    按我这样设置,我发现我的Hyper-V物理机的CPU使用率一直很低,基本都在10%以内。

    之后我做了测试,用软件测试虚拟机A,使用虚拟机A的CPU使用率飙到100%,之后观察Hyper-V控制以上,显示该虚拟机CPU使用率持续为80%左右。但是再通过任务管理器观察Hyper-V物理机的CPU时,使用率还在10%左右。

    按这个显示,我认为虚拟机里无法充分利用物理机的CPU资源,即使虚拟机CPU已经性能不足了,物理机仍然闲置很多CPU资源。

    不知道是哪里配置的错误,或者是理解的错误?

    如下图:

    2013年8月27日 2:12

答案

  • Hyper-V 環境下絕對要避免在 "父分割區" 或 "虛擬機器" 中使用 工作管理員 與 效能監視器的 %Processor Time 查看處理器的使用負載!

    應該在 "父分割區" 使用 "效能監視器" 查看下列資訊:

    實體處理器 --> \Hyper-V Hypervisor Logical Processor(*) 的 \%Total Run Time

    虛擬處理器 --> \Hyper-V Hypervisor Virtual Processor(*) 的 \%Guest Run Time

    • 已标记为答案 Jeremy_Wu 2013年9月5日 6:36
    2013年8月27日 3:07
  • 您好

    也可以使用 HyperV Performance 小工具,來監控各個虛擬機器 CPU,記憶體使用狀態

    官方下載網址:http://www.tmurgent.com/Tools.aspx

    • 已标记为答案 Jeremy_Wu 2013年9月5日 6:36
    2013年8月27日 6:18

全部回复

  • Hyper-V 環境下絕對要避免在 "父分割區" 或 "虛擬機器" 中使用 工作管理員 與 效能監視器的 %Processor Time 查看處理器的使用負載!

    應該在 "父分割區" 使用 "效能監視器" 查看下列資訊:

    實體處理器 --> \Hyper-V Hypervisor Logical Processor(*) 的 \%Total Run Time

    虛擬處理器 --> \Hyper-V Hypervisor Virtual Processor(*) 的 \%Guest Run Time

    • 已标记为答案 Jeremy_Wu 2013年9月5日 6:36
    2013年8月27日 3:07
  • 您好

    也可以使用 HyperV Performance 小工具,來監控各個虛擬機器 CPU,記憶體使用狀態

    官方下載網址:http://www.tmurgent.com/Tools.aspx

    • 已标记为答案 Jeremy_Wu 2013年9月5日 6:36
    2013年8月27日 6:18
  • 非常感谢您的回复!

    我在性能监视器里面添加了您所述的两个计数器后,截图如下:

    在箭头所指之处为我开始在一个虚拟机上(该虚拟服务器上一共有4个虚拟机在运行,每个虚拟机只分配了1个虚拟CPU。这台虚拟服务器是2物理CPU,每物理CPU有10核心,加上可以双线程,总共有40个虚拟CPU)运行Winrar5.01的基准测试后出现的图形。

    请教您:

    1、为什么“来宾运行时间”(Guest Run Time)百分比只能占50%左右,无法接近90%到100%呢?是不是因为只有四台虚拟机,而每台的CPU设置中的“相对权重”都为100,导致每台性能跑满了也只被允许占用物理机器"100/4=25%"的CPU?

    2、我想设置这台虚拟服务器来达到以下目的:满足在保证另外三台虚拟机工作需求的情况下,尽可能满足这台跑了Winrar基准测试的虚拟机的CPU需求,我该怎么设置?

    3、在Hyper-V控制台中设置虚拟机的CPU核心数对于虚拟机性能的影响大还是CPU相对权重对性能的影响大?

    太多问题时时困扰我,希望您慷慨解答,谢谢!

    2014年2月21日 7:07
  • 1、为什么“来宾运行时间”(Guest Run Time)百分比只能占50%左右,无法接近90%到100%呢?是不是因为只有四台虚拟机,而每台的CPU设置中的“相对权重”都为100,导致每台性能跑满了也只被允许占用物理机器"100/4=25%"的CPU?

    答:你的物理CPU有两个,测试的虚拟机CPU只有一个,这就意味着你的虚拟机只能占50%的性能。

    2、我想设置这台虚拟服务器来达到以下目的:满足在保证另外三台虚拟机工作需求的情况下,尽可能满足这台跑了Winrar基准测试的虚拟机的CPU需求,我该怎么设置?

    答:我个人认为通过修改相对权重,Winrar基准测试机的相对权重调高,再限制该机器的“虚拟机限制”。

    3、在Hyper-V控制台中设置虚拟机的CPU核心数对于虚拟机性能的影响大还是CPU相对权重对性能的影响大?

    答:我个人认为CPU的核心数对性能影响更大。


    2014年2月21日 7:25
  • 感谢回复

    可能我没有说清楚,那四个虚拟机有一个跑Winrar性能基准,一个相当于也在满负荷运行。所以就看见占了50%的来宾运行时间了。您说的“物理CPU有两个”和“虚拟机的逻辑CPU一个”不是一个概念,虚拟机的CPU由于NUMA的硬件映射的原因,只相当于物理CPU上的一个逻辑运算单元(1/40)吧。

    权重我刚才调了,调到1000,貌似没有改变

    2014年2月21日 7:33
  • 先考虑你提的第一个问题。权重的配置,我没有做过测试,不能给你准确的回复。

    如下图,不用考虑物理机的核心个数,只考虑逻辑处理器个数。我的物理机有8个逻辑处理器,分配4个给该虚拟机,所以该虚拟机最多只能使用4/8=50%的CPU资源。即使物理机还有空闲资源,也无法提供给该虚拟机使用。

    如果我再把“虚拟机限制”改为80,那么占系统资源百分比就为40%,也就是在Guest Run Time里只能达到40%

    2014年2月21日 7:54
  • 你好 我用服务器  建了一个虚拟机但是 占系统资源百分比一项只有 2%改为4个cpu才能达到百分之八。怎么才能到百分之百呢?我的服务器是双cpu  e7-4800 10核两个而且我物理机的cpu最多 也就是百分之1-2的利用率 麻烦怎么能调高百分比?
    2015年6月20日 11:00