VMware CPU 超线程调度亲和性

VMware CPU 超线程调度亲和性

我查看了所有地方并阅读了大量有关此问题的文档,但没有找到直接的答案,因此这里是:

vCenter 中的“资源”选项卡中有一个设置,可让您配置超线程核心共享。我将其设置为“ANY”。

我的问题与调度亲和性有关。如果我将要分配特定核心的文本字段留空,会发生什么情况?

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

注意:调度亲和性组框显示

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

答案1

这里的用户界面可能令人困惑,但超线程核心共享和调度亲和力是独立的项目。

  • 超线程共享只是对 HT 选项的更精细的控制。
  • 调度亲和性对话框显示器超线程状态(在硬件 BIOS 级别控制),然后允许您指定taskset样式的 CPU 亲和性掩码。

在此处输入图片描述

超线程共享

选项包括:

任意 —(默认)此虚拟机的虚拟 CPU 可以自由地与该虚拟机或其他虚拟机的其他虚拟 CPU 共享核心。

无 – 此虚拟机的虚拟 CPU 在调度到处理器核心时独占使用处理器核心。当此虚拟机正在使用该核心时,核心的另一个超线程将“暂停”。

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


无论如何,在 99% 的使用情况下,我都不建议更改任何这些设置,因为这样可能会出现性能问题或争用增加的风险。调度亲和性框应为空白。

您是否正在尝试处理某种特定影响或情况?


我刚刚检查了Adobe ColdFusion 许可证。对于您的用例,“CPU”表示物理插槽(可能是多核)。许可证以 2 个 CPU 的数量出售。因此,每个双插槽 ESXi 主机需要一个许可证。

答案2

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

答案3

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

因此,调度亲和性如果超线程核心共享被设定为ANY

相关内容