服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

为Hyper-V主机禁用SpeedStep最佳做法?

我正在分析一个问题,即虚拟机中的CPU绑定工作负载的性能经常(并非总是)低于我们对基础硬件的预期。 我们在Windows Server 2012 R2上使用Hyper-V。 该服务器采用双Intel Xeon E5-2643 v2 @ 3.50 GHz。 以下是一些看起来相关的数字: Hyper-Vpipe理程序逻辑处理器,%总运行时间,实例_Total:平均20% Hyper-V虚拟机pipe理程序虚拟处理器,CPU等待时间每次调度,实例_Total:平均20000(这个数字看起来完全是安全的,所以看起来虚拟机pipe理程序似乎并不需要从虚拟CPU“炼”到调度时间到另一个虚拟机的逻辑CPU;似乎翻译在2%的开销) Hyper-Vpipe理程序逻辑处理器,最大频率百分比,实例_Total:平均34% CPU-Z工具显示两个处理器的Core#0在1200 MHz左右的大部分时间(几乎与性能监视器报告的最大频率的百分比相匹配) 在只有less量内核的台式机上,核心速度立即上升,一旦CPU限制活动开始。 然而,在我们的Hyper-V主机上,核心速度似乎只有在整个系统负载似乎高达几秒钟的情况下才会上升。 现在,例如,如果虚拟机中共有24个物理虚拟CPU(打开超线程),并且该虚拟机需要CPU电源,虚拟机内部的任务pipe理器显示接近100%的CPU使用率,大部分时间物理CPU的速度不会boost,性能也不好。 显然这是不想要的行为。 考虑一个数据库服务器需要3倍的时间来回答查询,因为服务器没有足够的负载来提高CPU频率。 这没有任何意义。 从2011年起,我发现了一篇博客文章,描述了VMWare和思科刀片服务器的完全相同的行为 。我没有在其他任何地方find这方面的信息。 我实际上可以通过切换到powercfg.cpl的Windows“高性能”电源计划来消除这种行为,耗电量大约高出30%。 我实际上获得了更好和更一致的性能,性能监视器显示更低的负载数字。 (在较旧的服务器上,我find了一个额外的设置“处理器电源pipe理|最小处理器状态”,可以设置为100%,而不禁用所有其他省电选项,新的只显示“系统冷却策略” “即使是”平衡“计划,所以我唯一的select是select”高性能“。) 这是Hyper-V主机的最佳做法,还是有其他的解决方法吗? 如果SpeedStep真的是一个问题,我想知道为什么他们甚至将它构build到服务器CPU中,并默认启用它,为什么我从来没有阅读Hyper-Vconfiguration指南中的这个设置?