ESXi和Windows Server CPU停车


10

对于那些不知道的人,CPU停放是最新的Windows Server版本中的一项功能,该功能使Windows可以将CPU内核几乎降为零使用,而没有使用它。引入它是一种省电措施。除了其他地方,这里还有更多详细信息。

但是,我很好奇的是,这是在虚拟客户机上发生,还是CPU停车更多的是障碍而不是帮助,因为物理CPU是由ESXi(而不是Windows)管理的,而驻留的CPU不太可能除非调度程序认为有足够的工作来释放CPU,否则如何处理流量?

我对此一无所获-我确实怀疑这将很大程度上取决于给定的工作量,但是我没有看到任何讨论(与例如,超线程是否有任何作用,似乎已经定期讨论了) )。虽然我确实了解“用您的工作量进行测试”,但我想知道是否有我遗漏的任何建议/准则。


1
我怀疑虚拟机能否告诉物理核心进入睡眠状态。如果可以做到,则将由VM的虚拟机管理程序来完成。
LatinSuD 2014年

确实-这就是为什么我问这个问题,我看不到VM中的停车点,因此应该禁用停车吗?
克里斯J

哪个ESXi版本?在注释之一中提到的开发人员计算机和VM上的CPU使用率是多少?开发人员的计算机和ESXi主机中使用哪些CPU模型?我不知道这些信息是否会有所帮助,但可能会有所帮助。
Mario Lenz 2014年

Answers:


11

绝对要尝试调整VM的大小

如果您有足够的可用虚拟CPU来关注“ CPU停放”,则可能分配给VM的资源过多。

这不是一个常见的请求,因此除非您当前遇到性能问题,否则我将仅依靠传统的资源管理工具。

编辑:

有性能问题。

  • 确保已安装VMware工具。
  • 将Windows VM 电源选项设置为高性能

在此处输入图片说明


2
这是我们在相当重的CPU负载下的钻机上看到的-多线程应用程序似乎并未利用所有vCPU,资源管理器将一对夫妇标记为“停放”(尽管线程数量已足够)排队运行)。这是我们第一次必须考虑停车和VM是否真的是一个问题:他的机器(物理)上的开发人员看到相同的代码使用了所有内核(比VM上的内核更多)。我们有些挠头,只是想探索这个特定方面。
克里斯J

@ChrisJ请参阅上面的编辑。
ewwhite

这似乎已经在我们的测试平台上成功了:现在负载已分散到所有vCPU(根据Windows)上,而不是2个并发线程,我们只有4个并发线程。今天(希望)我们将在大型钻机上运行,​​因此将确认。
克里斯J

1
确保将其添加到Windows服务器组策略中。这就是为什么我永远不会再手动触摸它的原因。
ewwhite

好建议-ta。
克里斯J

4

没关系 如果要节省电量,请为VM guest虚拟机分配更少的内核。Windows将尝试管理其“虚拟”内核,但它无法控制虚拟机管理程序,因此不会影响系统上的实际物理CPU。


对我来说,这不是节能的问题,因为主机已虚拟化,因此我需要研究的是ESXi。更重要的是,它是否会影响/干扰系统管理程序调度程序本身,因为最终物理CPU时间是由该时间分配的,而不是由Windows调度程序分配的。我自己的直觉是应该禁用停车功能,因此Windows调度程序不必“停车”实际上不存在的CPU,并且可以通过允许ESX分配时间来更好地利用基础物理CPU。相应地。我只是想知道我的内心是否正确:-)
克里斯·J

它不会影响调度程序。在受限条件下,ESXi可能会从客户机中“窃取”未使用的CPU时间,但否则,除非另一个客户机也正在使用它,否则核心将保持空闲状态。
内森·C

@ChrisJ无需禁用。不要试图超越VMware :)
ewwhite

我并没有试图使VMWare变得更聪明,我只是在猜测Windows(因为它似乎并没有在所有vCPU上调度应用程序):-)我认为我们不需要做owt,主要原因是缺乏在线信息(这意味着大多数/所有人都将其保留),但只是想探索这一方面。
克里斯J

@ChrisJ我不认为人们会直接触摸此设置。它通常是系统电源策略的一部分。
ewwhite
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.