Vous pouvez définir le mode de partage d'un cœur utilisant hyperthreading d'une machine virtuelle à l'aide de vSphere Web Client.

Tableau 1. Modes de partage du cœur d'hyperthreading

Option

Description

Toutes

Option par défaut pour toutes les machines virtuelles d'un système avec hyperthreading. Les CPU virtuels d'une machine virtuelle avec ce paramètre peuvent partager librement des cœurs avec d'autres CPU virtuels depuis cette machine virtuelle ou depuis une machine virtuelle différente simultanément.

Aucune

Les CPU virtuels d'une machine virtuelle ne doivent pas partager des cœurs entre eux ou avec les CPU virtuels d'autres machines virtuelles. En d'autres termes, chaque CPU virtuel de cette machine virtuelle doit toujours disposer d'un cœur complet pour lui-même ; les autres CPU logiques de ce cœur sont alors placés en état suspendu.

Interne

Cette option est similaire à l'option Aucun. Les CPU virtuels de cette machine virtuelle ne peuvent pas partager de cœurs avec les CPU virtuels d'autres machines virtuelles. Ils peuvent partager des cœurs avec les autres CPU virtuels de la même machine virtuelle.

Vous pouvez sélection cette option uniquement pour les machines virtuelles SMP. Le système modifie cette option sur Aucun si elle est appliquée à une machine virtuelle à processeur unique.

Ces options n'influencent pas l'équité ou l'allocation de temps CPU. Quels que soient les paramètres d'hyperthreading d'une machine virtuelle, elle reçoit toujours le temps CPU proportionnel à ses parts CPU et déterminé par les valeurs de réservation CPU et de limite CPU.

Les paramètres d'hyperthreading personnalisés ne sont pas nécessaires pour des charges de travail générales. Les options peuvent être utiles en cas de charges de travail inhabituelles dont l'interaction avec l'hyperthreading est mauvaise. Par exemple, une application rencontrant des problèmes d'annulation de cache peuvent ralentir une application partageant son cœur physique. Vous pouvez placer la machine virtuelle exécutant l'application en état d'hyperthreading Aucun ou Interne afin de l'isoler des autres machines virtuelles.

Si un CPU virtuel possède des contraintes d'hyperthreading ne lui permettant pas de partager un cœur avec un autre CPU virtuel, le système peut le déprogrammer lorsque d'autres CPU virtuels sont autorisés à consommer du temps processeur. Sans les contraintes d'hyperthreading, vous pouvez programmer les deux CPU virtuels sur le même cœur.

Le problème s'intensifie sur les systèmes dont le nombre de cœurs est limité (par machine virtuelle). Dans ces cas, il est possible qu'il n'existe aucun cœur sur lequel la machine virtuelle déprogrammée puisse être migrée. Par conséquent, les performances des machines virtuelles dont l'hyperthreading est défini sur Aucun ou Interne peuvent se dégrader, en particulier sur les systèmes dont le nombre de cœurs est limité.