CPU关联的编号scheme

在VMware Infrastructure Client(无vCenter)中,在每个虚拟机的“ 编辑设置”对话框的Resources / Advanced CPU部分下,可以select更改虚拟机的计划关联性。 它在VMX文件中设置sched.cpu.affinity值。

我相信这允许我强制虚拟机只能由主机上的特定物理CPU提供服务,在某些情况下,明智使用虚拟机可能允许我为一个物理CPU授权虚拟机,而不是主机中的两个虚拟机。

编辑设置中configuration字段的说明如下:

超线程状态:活动

可用的CPU:12个(逻辑CPU)

为此虚拟机select逻辑处理器关联。

使用“ – ”作为范围,使用“,”来分隔数值。 例如,“0,2-4,7”将表示处理器0,2,3,4和7。

假设(在这个和类似的情况下)是否公平?

  • 数字0到11代表每个物理核心(或“超螺纹”也编号)?
  • 如果我想限制虚拟机在其中一个物理CPU上运行,我应该input0-56-11 (或者这些数字是否有不同的模式)?

否则,是否有可靠的来源(VIC屏幕,shell命令等)查找任何特定主机上的数字到CPU映射?

(作为参考,CPU是Intel Xeon X5675单元,每个单元都是超线程的6核。)

您的软件可能是按照(可见的)CPU插槽许可的。 如果使用适当的套接字和内核计数configuration目标虚拟机 ESXi决定在底层硬件上调度线程的位置并不重要。 您的软件应该只关心虚拟机可见的内容。 在这种情况下,一个1插槽的4核VM应该满足这个要求。

请参阅: 1或2个vCPU之间的vCPU性能

就像Linux上的taskset和CPU调度一样,除非你有一个令人信服的理由,否则你不希望走上CPU关系和固定的路线。


编辑:

编号与taskset相同。 对于Westmere 6内核CPU,按照此计划,您将看到物理和超线程内核:

  NUMANode L#0 (P#0 32GB) + Socket L#0 + L3 L#0 (12MB) L2 L#0 (256KB) + L1d L#0 (32KB) + L1i L#0 (32KB) + Core L#0 PU L#0 (P#0) PU L#1 (P#12) L2 L#1 (256KB) + L1d L#1 (32KB) + L1i L#1 (32KB) + Core L#1 PU L#2 (P#2) PU L#3 (P#14) L2 L#2 (256KB) + L1d L#2 (32KB) + L1i L#2 (32KB) + Core L#2 PU L#4 (P#4) PU L#5 (P#16) L2 L#3 (256KB) + L1d L#3 (32KB) + L1i L#3 (32KB) + Core L#3 PU L#6 (P#6) PU L#7 (P#18) L2 L#4 (256KB) + L1d L#4 (32KB) + L1i L#4 (32KB) + Core L#4 PU L#8 (P#8) PU L#9 (P#20) L2 L#5 (256KB) + L1d L#5 (32KB) + L1i L#5 (32KB) + Core L#5 PU L#10 (P#10) PU L#11 (P#22) NUMANode L#1 (P#1 32GB) + Socket L#1 + L3 L#1 (12MB) L2 L#6 (256KB) + L1d L#6 (32KB) + L1i L#6 (32KB) + Core L#6 PU L#12 (P#1) PU L#13 (P#13) L2 L#7 (256KB) + L1d L#7 (32KB) + L1i L#7 (32KB) + Core L#7 PU L#14 (P#3) PU L#15 (P#15) L2 L#8 (256KB) + L1d L#8 (32KB) + L1i L#8 (32KB) + Core L#8 PU L#16 (P#5) PU L#17 (P#17) L2 L#9 (256KB) + L1d L#9 (32KB) + L1i L#9 (32KB) + Core L#9 PU L#18 (P#7) PU L#19 (P#19) L2 L#10 (256KB) + L1d L#10 (32KB) + L1i L#10 (32KB) + Core L#10 PU L#20 (P#9) PU L#21 (P#21) L2 L#11 (256KB) + L1d L#11 (32KB) + L1i L#11 (32KB) + Core L#11 PU L#22 (P#11) PU L#23 (P#23) 

假设(在这个和类似的情况下)是否公平?

  • 数字0到11代表每个物理核心(或“超螺纹”也编号)?

是的,是的HT包括在内

  • 如果我想限制虚拟机在其中一个物理CPU上运行,我应该input0-5或6-11(或者这些数字是否有不同的模式)?

是的,你在一个!