VMware CPU超线程调度亲和性

我已经看了所有的东西,阅读了一堆关于这个文档,但没有find一个直接的答案,所以在这里:

在vCenter的“资源”选项卡中有一个设置,可让您configuration超线程核心共享。 我有这个设置为“任何”。

我的问题是调度亲和力。 如果将文本字段留空,您将分配特定内核,会发生什么情况?

VMWare是否处理跨所有逻辑核心的超线程,或者是否禁用超线程?

注意:排程亲和组框说

超线程状态:主动
可用的CPU:##(逻辑CPU)

UI在这里可能会让人困惑,但是超线程核心共享和调度相关性是单独的项目。

  • 超线程共享只是更好地控制HT选项。
  • 计划关联对话框显示超线程状态(在硬件BIOS级别进行控制),然后允许您指定taskset样式的CPU关联掩码。

在这里输入图像说明

超线程共享

选项是:

任何 – (默认)此虚拟机的虚拟CPU可以与该虚拟机或其他虚拟机的其他虚拟CPU自由共享内核。

无 – 此虚拟机的虚拟CPU只要安排了该虚拟机,就会独占使用处理器内核。 核心的另一个超线程在这个虚拟机正在使用核心的时候被“暂停”了。

内部 – 在具有两个虚拟处理器的虚拟机上,允许两个虚拟处理器共享一个物理内核(由ESXi调度程序决定),但是此虚拟机永远不会与任何其他虚拟机共享一个内核。 如果此虚拟机的处理器数量超过两个,则此设置与“无”设置相同。


无论哪种情况,我都不build议在99%的用例中更改这些设置中的任何一个,因为存在性能问题或争用增加的风险。 Scheduling Affinity框应该是空白的。

是否有特定的效果或情况,你正在处理?


我只是检查了Adobe ColdFusion许可证的语言。 对于您的使用情况,“CPU”是指物理插槽(可能是多核)。 许可证以2-CPU数量销售。 因此,每个双路ESXi主机需要一个许可证。

超线程系统上所有虚拟机的默认值都是ANY。 具有此设置的虚拟机的虚拟CPU可以随时与此虚拟机或其他任何虚拟机自由共享其他虚拟CPU。 更改此设置可能会导致性能问题,您将不会真正使用它的好处。 此外,超线程取决于处理器types,并在系统BIOS中启用。

超线程的激活设置在主机级别,但是是否将给定虚拟机使用HT的决定设置为VM级别。

因此,如果将超线程核心共享设置为ANY ,则将Scheduling Affinity框保留为空将不会有任何影响。