18
0
Fork 0

Ajouter section sur CPU pinning

This commit is contained in:
abenmiloud 2020-12-09 16:53:02 +01:00
parent 4a8d8bd38f
commit 4ca7cd8c3f
1 changed files with 48 additions and 0 deletions

View File

@ -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 dattacher un processus à un CPU particulier. La machine virtuelle ne pourra alors utiliser que les CPU que lhyperviseur lui a associés. Ça permet par exemple de limiter le problème dinvalidation du cache CPU.
Pour choisir les CPU, on peut sappuyer 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 nempêchera pas des processus de lhô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).