Ajouter section sur CPU pinning
This commit is contained in:
parent
4a8d8bd38f
commit
4ca7cd8c3f
48
HowtoKVM.md
48
HowtoKVM.md
|
@ -80,6 +80,54 @@ Un hyperviseur KVM doit avoir des CPUs supportant la virtualisation.
|
|||
Cela s'active en général via le *BIOS* de la machine.
|
||||
Si ce n'est pas activé, vous aurez une erreur `KVM: disabled by BIOS`
|
||||
|
||||
#### CPU pinning
|
||||
|
||||
Le CPU pinning permet d’attacher un processus à un CPU particulier. La machine virtuelle ne pourra alors utiliser que les CPU que l’hyperviseur lui a associés. Ça permet par exemple de limiter le problème d’invalidation du cache CPU.
|
||||
|
||||
Pour choisir les CPU, on peut s’appuyer sur les informations sur la topologie du processeur avec la commande `lspcu`.
|
||||
|
||||
```
|
||||
$ lscpu -e=cpu,core,cache
|
||||
CPU CORE L1d:L1i:L2:L3
|
||||
0 0 0:0:0:0
|
||||
1 1 1:1:1:0
|
||||
2 2 2:2:2:0
|
||||
3 3 3:3:3:0
|
||||
4 4 4:4:4:1
|
||||
5 5 5:5:5:1
|
||||
6 6 6:6:6:1
|
||||
7 7 7:7:7:1
|
||||
8 0 0:0:0:0
|
||||
9 1 1:1:1:0
|
||||
10 2 2:2:2:0
|
||||
11 3 3:3:3:0
|
||||
12 4 4:4:4:1
|
||||
13 5 5:5:5:1
|
||||
14 6 6:6:6:1
|
||||
15 7 7:7:7:1
|
||||
```
|
||||
|
||||
On voit ici que les CPU 4 et 12 (1ère colonne) sont dans le même _core_ (2ème colonne). Les CPU 4 à 7 et 12 à 15 partagent le même cache L3 (3ème colonne, dernier caractère). La configuration XML ci-dessous associe à la machine virtuelle les CPU 4 à 7 et 12 à 15.
|
||||
|
||||
```xml
|
||||
<domain>
|
||||
[…]
|
||||
<vcpu placement='static'>2</vcpu>
|
||||
<cputune>
|
||||
<vcpupin vcpu='0' cpuset='4'/>
|
||||
<vcpupin vcpu='1' cpuset='12'/>
|
||||
<vcpupin vcpu='2' cpuset='5'/>
|
||||
<vcpupin vcpu='3' cpuset='13'/>
|
||||
<vcpupin vcpu='4' cpuset='6'/>
|
||||
<vcpupin vcpu='5' cpuset='14'/>
|
||||
<vcpupin vcpu='6' cpuset='7'/>
|
||||
<vcpupin vcpu='7' cpuset='15'/>
|
||||
</cputune>
|
||||
[…]
|
||||
```
|
||||
|
||||
La machine virtuelle ne pourra utiliser que ces processur, mais ça n’empêchera pas des processus de l’hôte de les utiliser aussi. Pour empêcher ça, il faudra isoler les CPU.
|
||||
|
||||
### Configuration mémoire
|
||||
|
||||
On conseille d'avoir une certaine marge de RAM par rapport à la somme de la mémoire allouée à chaque VM, surtout si vous activez du cache au niveau des disques des VMs (ce qui est conseillé pour de bonnes performances).
|
||||
|
|
Loading…
Reference in New Issue