首先,我们先来看看XenServer中Socket、Core、以及超线程后的核心之间在XenServer中CPU的排序关系,请参考下表:

CPU排序(以2路4核具有超线程功能CPU示范)

Socket1

Socket2

Core1

Core2

Core3

Core4

Core1

Core2

Core3

Core4

HT1

HT2

HT1

HT2

HT1

HT2

HT1

HT2

HT1

HT2

HT1

HT2

HT1

HT2

HT1

HT2

#0

#1

#2

#3

#4

#5

#6

#7

#8

#9

#10

#11

#12

#13

#14

#15

上表反应了XenServer中CPU的排序规则。

1、指定特定的VM使用指定的物理CPU可以使用命令:

[root@xenserver ~]# xe vm-param-set uuid=<VM UUID> VCPUs-params:mask=1,3,7

该命令用于设置特定UUID的VM使用物理CPU排序中的第1,3,7个CPU

2、设置VM中CPU的权重

[root@xenserver ~]# xe vm-param-set uuid=<VM UUID> VCPUs-params:weight=512

该命令设置vCPU的权重为512,默认dom0权重为256,权重决定VM在CPU时间片中所占比例,权重范围从0到65535

3、设置VM最大CPU使用率

[root@xenserver ~]# xe vm-param-set uuid=<VM UUID> VCPUs-params:cap=80

该命令用户设置VM最大可以使用的CPU为单个CPU的%80,设置为100,则为1个物理CPU的,设置为80,则只能使用一个物理CPU的80%性能,设置为400,则表示最大可以使用4个物理CPU。默认为0,不限制。