在VMware基础设施客户端(无vCenter)中,在每个VM的编辑设置对话框的Resources / Advanced CPU部分下,有一个选项可以更改VM的调度亲和性。它在VMX文件中设置sched.cpu.affinity值。
我相信这允许我强制VM只能由主机上的特定物理CPU提供服务,明智地使用它在某些情况下可能允许我为一个物理CPU而不是主机中的两个物理CPU授权VM。
编辑设置中配置字段的描述如下:
超线程状态:活动可用CPU: 12 (逻辑CPU)为此虚拟机选择逻辑处理器关联。使用“-”表示范围和“,”分隔值。例如," 0,2-4, 7“表示处理器0、2、3、4和7。
(在这种情况和类似情况下)是否公平地假定:
0-5或6-11 (或者这些数字是不同的模式)。否则,是否有可靠的来源(国际中心屏幕,外壳命令等)查找任何特定主机上的数字到CPU映射?
(供参考,CPU是Intel Xeon X5675单元,每个CPU都有6核超线程。)
发布于 2014-12-24 16:32:11
您的软件很可能是根据(可见的) CPU套接字获得许可的。如果使用适当的套接字和核心计数配置目标虚拟机,那么ESXi决定在底层硬件上安排线程的位置并不重要。您的软件应该只关注虚拟机可以看到的内容。在这种情况下,一个1套接字,4核心VM应该满足要求.
就像Linux上的任务集和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)发布于 2014-12-24 16:07:08
(在这种情况和类似情况下)是否公平地假定:
包括是和是
是的,你把它放进了一个!
https://serverfault.com/questions/654634
复制相似问题