Comme tout logiciel de virtualisation, il est possible sous Xen de spécifier le nombre de CPU (core) d’une VM. Pour ce faire on distingue, deux paramètres :

  • cpus : le nombre de cores disponibles
  • vcpus : la liste des cores affectés

En gérant ces deux paramètres, il est donc possible de dédier des cores CPU à chaque environnement virtuel.

Limiter les ressources CPU du dom0

root@manjula:~# nano /etc/default/grub
# HB: limit dom0 to 2GB and affect 2 CPU
GRUB_CMDLINE_XEN="dom0_max_vcpus=2 dom0_vcpus_pin dom0_mem=2048M"
root@manjula:~# update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32-5-xen-amd64
Found initrd image: /boot/initrd.img-2.6.32-5-xen-amd64
Found linux image: /boot/vmlinuz-2.6.32-5-xen-amd64
Found initrd image: /boot/initrd.img-2.6.32-5-xen-amd64
Found linux image: /boot/vmlinuz-2.6.32-5-amd64
Found initrd image: /boot/initrd.img-2.6.32-5-amd64
done
root@manjula:~# shutdown -r now
root@manjula:~# xm vcpu-list
Name                                ID  VCPU   CPU State   Time(s) CPU Affinity
Domain-0                             0     0     0   r--     116.3 0
Domain-0                             0     1     1   -b-      16.6 1

Deux CPU sont donc ici alloués au dom0, affectés aux cores physiques 0 et 1.

Limiter les ressources CPU d’un domU

root@manjula:~# nano /etc/xen/auto/pria
vcpus = 2
cpus = '2,3'
root@manjula:~# xm create uma
root@manjula:~# sleep 4 && xm vcpu-list
Name                                ID  VCPU   CPU State   Time(s) CPU Affinity
Domain-0                             0     0     0   r--     116.3 0
Domain-0                             0     1     1   -b-      16.6 1
pria                                 1     0     2   -b-     153.7 2-3
pria                                 1     1     3   -b-      76.9 2-3

Le domU pria utilise donc 2 CPU, affectés aux cores 2 et 3.