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