我查看了所有地方并阅读了大量有关此问题的文档,但没有找到直接的答案,因此这里是:
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
。