Si certaines de vos applications utilisent beaucoup de mémoire ou possèdent un nombre restreint de machines virtuelles, vous pouvez optimiser les performances en spécifiant explicitement le placement de CPU et de mémoire de machine virtuelle.
Cela s'avère utile si une machine virtuelle exécute une charge de travail gourmande en mémoire, telle qu'une base de données en mémoire ou une application de calcul scientifique comportant des données volumineuses. Vous pouvez également optimiser des placements de NUMA manuellement si la charge de travail du système est connue pour être simple et invariable. Par exemple, il est facile d'optimiser explicitement un système à huit processeurs exécutant huit machines virtuelles avec des charges de travail similaires.
ESXi fournit trois ensembles de contrôles pour le placement de NUMA, de sorte que les administrateurs puissent contrôler la mémoire et le placement de processeur d'une machine virtuelle.
Vous pouvez spécifier les options suivantes :
- Affinité de nœud NUMA
- Lorsque vous définissez cette option, NUMA peut programmer une machine virtuelle uniquement sur les nœuds spécifiés dans l'affinité.
- Affinité de CPU
- Lorsque vous définissez cette option, une machine virtuelle utilise uniquement les processeurs spécifiés dans l'affinité.
- Affinité de mémoire
- Lorsque vous définissez cette option, le serveur alloue la mémoire uniquement sur les nœuds spécifiés.
Une machine virtuelle est toujours gérée par NUMA lorsque vous spécifiez l'affinité de nœud NUMA, mais ses CPU virtuels peuvent être programmés uniquement sur les nœuds spécifiés dans l'affinité de nœud NUMA. En outre, la mémoire peut être obtenue uniquement à partir des nœuds spécifiés dans l'affinité de nœud NUMA. Lorsque vous spécifiez les affinités de CPU ou de mémoire, une machine virtuelle cesse d'être gérée par NUMA. La gestion de ces machines virtuelles par NUMA est efficace lorsque vous supprimez les contraintes d'affinité de CPU et de mémoire.
Le placement manuel de NUMA pourrait interférer avec les algorithmes de gestion des ressources d'ESXi qui distribuent les ressources de processeur équitablement au sein d'un système. Par exemple, si vous placez manuellement 10 machines virtuelles dont les charges de travail sont intensives en termes de processeur sur un nœud et que vous placez manuellement 2 machines virtuelles sur un autre nœud, il est impossible que le système donne à chacune des 12 machines virtuelles des parts égales de ressources système.