Pour les machines virtuelles qui consomment une quantité de mémoire disproportionnée, vous pouvez utiliser les options avancées pour remplacer manuellement les paramètres par défaut du CPU virtuel.

Vous pouvez ajouter ces options avancées au fichier de configuration de la machine virtuelle.

Tableau 1. Options avancées des contrôles virtuels de NUMA

Option

Description

Valeur par défaut

cpuid.coresPerSocket

Détermine le nombre de cœurs virtuels par socket de CPU virtuelle. Si la valeur est supérieure à 1, cela détermine également la taille des nœuds NUMA virtuels si une machine virtuelle a une topologie NUMA virtuelle. Vous pouvez paramétrer cette option si vous connaissez la topologie NUMA virtuelle exacte de chaque hôte physique.

1

numa.vcpu.maxPerVirtualNode

Si cpuid.coresPerSocket est trop restrictif en tant que puissance de deux, vous pouvez paramétrer numa.vcpu.maxPerVirtualNode directement. En pareil cas, ne paramétrez pas cpuid.coresPerSocket.

8

numa.autosize

Lorsque vous paramétrez cette option, la topologie NUMA virtuelle a le même nombre de CPU virtuels par nœud virtuel étant donné qu'il existe des cœurs sur chaque nœud physique.

FALSE

numa.autosize.once

Lorsque vous créez un modèle de machine virtuelle avec ces paramètres, ceux-ci sont assurés de rester les mêmes à chaque mise sous tension suivante de la machine virtuelle. La topologie NUMA virtuelle sera réévaluée en cas de modification du nombre de CPU virtuels configurées sur la machine virtuelle.

TRUE

numa.vcpu.min

Nombre minimal de CPU virtuels d'une machine virtuelle nécessaires à la génération d'une topologie NUMA virtuelle.

9

Remarque :

Lorsque vous paramétrez numa.autosize sur VRAI, et si la configuration est paramétrée manuellement ou à l'aide d'un script, certains hôtes pourraient ne pas être en mesure de gérer les modifications dynamiques.

Par exemple, une application Linux configurée avec l'utilitaire système numactl est paramétrée et testée sur un hôte physique possédant quatre cœurs par nœud. L'hôte nécessite deux nœuds NUMA pour une machine virtuelle munie de huit CPU virtuels. Si la même machine virtuelle est exécutée sur un système comportant huit cœurs par nœud, ce qui pourrait se produire lors d'une opération vMotion, et que numa.autosize est paramétré sur VRAI, un seul nœud NUMA virtuel sera créé (au lieu de deux nœuds NUMA virtuels). Lorsque numactl fait référence au deuxième nœud NUMA virtuel, l'opération est un échec.

Pour éviter cela, les scripts doivent être assez intelligents pour interroger en premier lieu numactl --hardware. Dans le cas contraire, vous devez configurer explicitement la topologie NUMA ou autoriser l'application du paramètre numa.autosize.once par défaut.