相关疑难解决方法(0)

为 Hyper-V 主机禁用 SpeedStep 的最佳实践?

我正在分析一个问题,即虚拟机内受 CPU 限制的工作负载的性能通常(并非总是)低于我们基于底层硬件的预期。

我们在 Windows Server 2012 R2 上使用 Hyper-V。该服务器具有双 Intel Xeon E5-2643 v2 @ 3.50 GHz。

以下是一些似乎相关的数字:

  • Hyper-V 管理程序逻辑处理器,总运行时间百分比,实例 _Total:平均 20%
  • Hyper-V 管理程序虚拟处理器、每次调度的 CPU 等待时间、实例 _Total:平均 20000(这个数字似乎完全安全,因此管理程序似乎不必从虚拟 CPU 中“提取”来安排时间到另一个 VM 的逻辑 CPU;似乎转化为 2% 的开销)
  • Hyper-V 管理程序逻辑处理器,最大频率百分比,实例 _Total:平均 34%
  • CPU-Z 工具显示两个处理器的 Core #0 大部分时间都在 1200 MHz 左右(与性能监视器报告的最大频率百分比非常匹配)

在只有几个核心的台式机上,一旦开始受 CPU 限制的活动,核心速度就会立即提高。

然而,在我们的 Hyper-V 主机上,只有当整个系统负载似乎很高几秒钟时,核心速度才会上升。现在,例如,如果您有一个虚拟机,在总共 24 个物理 CPU 中有 4 个虚拟 CPU(打开超线程),并且此虚拟机需要 CPU 功率,并且虚拟机内的任务管理器显示接近 100% 的 CPU 使用率,大部分时间是时钟物理CPU的速度不会上升,性能很差。

显然,这是不需要的行为。想想一个数据库服务器需要 3 倍的时间来回答查询,因为服务器没有“足够”的负载来提高 CPU 频率。那没有任何意义。

我发现了一篇博客文章,描述了2011 年VMWare 和 Cisco …

intel hyper-v hyper-v-server-2012-r2

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

hyper-v ×1

hyper-v-server-2012-r2 ×1

intel ×1