C'était vrai autrefois, mais ce n'est plus exclusivement vrai.
Ce à quoi ils font référence est Co-programmation stricte .
Plus important encore, alors que dans l'algorithme de co-ordonnancement strict, l'existence d'un vCPU en retard entraîne l'échec de l'algorithme de co-ordonnancement. machine virtuelle entière à être co-arrêtée. Dans l'algorithme de co-ordonnancement relaxé, un vCPU en tête de file décide si s'il doit s'arrêter lui-même en se basant sur le skew par rapport au vCPU frère le plus lent.
Maintenant, si l'hôte n'a que 4 threads, alors il serait stupide de les allouer tous. Si il possède deux processeurs et 4 threads par processeur, alors vous pourrait Vous ne voulez pas allouer tout le contenu d'un seul processeur, car votre hyperviseur doit essayer de garder les vCPU sur le même nœud NUMA pour rendre l'accès à la mémoire plus rapide, et vous rendez ce travail plus difficile en allouant un socket entier à une seule VM (voir page 12 du PDF ci-dessus).
Donc il y a des scénarios où moins de vCPUs peut sont plus performants que d'autres, mais ce n'est pas vrai 100 % du temps.
Tout cela dit et fait, j'alloue très rarement plus de 3 vCPUs par invité. Tout le monde en reçoit 2 par défaut, 3 s'il s'agit d'une charge de travail importante, et 4 pour des choses comme les serveurs SQL ou les VM de traitement par lots très lourdes, ou un serveur terminal avec beaucoup d'utilisateurs.