首先,我们先来看看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,不限制。
