Parking CPU ESXi et Windows Server

10

Pour ceux qui ne le savent pas, le stationnement du processeur est une fonctionnalité des dernières versions de Windows Server qui permet à Windows de laisser pratiquement le cœur du processeur à zéro et de ne rien utiliser. Il a été présenté comme une mesure d'économie d'énergie. Il y a plus de détails ici , entre autres.

Cependant, ce qui m'intéresse, c'est de savoir si cette question concerne un invité virtualisé - ou si le CPU est plus un obstacle qu'une aide, étant donné que les CPU physiques sont gérés par ESXi, pas Windows, et qu'un CPU parqué est moins susceptible de gérer le trafic, sauf si le planificateur estime qu'il y a suffisamment de travail pour libérer le CPU?

Je n'ai rien trouvé à ce sujet - je soupçonne que cela sera très basé sur une charge de travail donnée, mais je n'ai vu aucune discussion (contrairement à, disons, si l'hyper-threading a un effet, qui semble être discuté régulièrement ). Bien que je comprenne le «test avec votre charge de travail», je me demandais s'il y avait des conseils / directives que j'avais manqués.

Chris J
la source
1
Je doute qu'une machine virtuelle puisse dire aux cœurs physiques de s'endormir. Si cela pouvait être fait, ce serait fait par l'hyperviseur indépendant de la machine virtuelle.
LatinSuD
Exactement - c'est pourquoi je pose la question, je ne vois pas l'intérêt de se garer dans une VM, alors le stationnement devrait-il être désactivé?
Chris J
Quelle version ESXi? Quelle est l'utilisation du processeur, à la fois sur la machine de votre développeur que vous avez mentionnée dans l'un des commentaires et sur la machine virtuelle? Quels modèles de CPU sont utilisés sur la machine de votre développeur et sur votre hôte ESXi? Je ne sais pas si cette information vous aidera, mais cela pourrait.
Mario Lenz

Réponses:

11

Essayez certainement de dimensionner correctement vos machines virtuelles .

Si vous disposez de suffisamment de CPU virtuels gratuits pour vous préoccuper du "parking CPU", vous en avez peut- être trop alloué à la machine virtuelle.

Ce n'est pas une demande courante, donc je m'appuierais uniquement sur les outils traditionnels de gestion des ressources, sauf si vous rencontrez actuellement un problème de performances.

Éditer:

Vous rencontrez un problème de performances.

  • Assurez-vous que les outils VMware sont installés.
  • Définissez vos options d'alimentation de machine virtuelle Windows sur Haute performance

entrez la description de l'image ici

ewwhite
la source
2
C'est quelque chose que nous avons vu sur une plate-forme sous une charge CPU assez lourde - une application multi-thread ne semble pas utiliser tous les vCPU, avec le gestionnaire de ressources marquant un couple comme "parqué" (bien qu'il y ait plus qu'assez de threads en file d'attente pour exécuter). C'est la première fois que nous devons nous demander si le stationnement et les machines virtuelles sont vraiment un problème: le développeur sur sa machine (physique) voit le même code utiliser tous les cœurs (plus de cœurs qu'il n'y en a sur la machine virtuelle). Nous nous grattons un peu la tête et je voulais juste explorer cet aspect particulier.
Chris J
@ChrisJ Voir ma modification ci-dessus.
ewwhite
Cela semble avoir fait l'affaire sur notre banc d'essai: la charge est maintenant répartie sur tous les vCPU (selon Windows), et plutôt que sur 2 threads simultanés, nous avons 4 threads simultanés. Nous allons courir sur le gros gréement (espérons-le) aujourd'hui, alors nous le confirmerons alors.
Chris J
1
Assurez-vous de l'ajouter à votre stratégie de groupe de serveurs Windows. C'est pourquoi je ne finis plus jamais par le toucher manuellement.
ewwhite
Bonne suggestion - ta.
Chris J
4

Ça n'aurait pas d'importance. Si vous souhaitez économiser de l'énergie, allouez moins de cœurs à l'invité VM. Windows essaiera de gérer ses cœurs «virtuels», mais il n'a aucun contrôle sur l'hyperviseur, de sorte qu'il n'affectera pas les CPU physiques réels du système.

Nathan C
la source
Pour moi, ce n'est pas un problème d'économie d'énergie car l'hôte est virtuose, c'est donc ESXi que je dois regarder. Il est plus important de savoir si cela influence / interfère avec le planificateur d'hyperviseur lui-même, car en fin de compte le temps CPU physique est alloué par cela, et non par le planificateur Windows. Mon intuition est que le stationnement devrait probablement être désactivé, de sorte que le planificateur Windows n'a pas à "garer" un processeur qui n'existe pas réellement, et cela pourrait mieux utiliser les processeurs physiques sous-jacents en permettant à ESX d'allouer du temps en conséquence. Je me demandais juste si mon instinct est correct :-)
Chris J
Cela n'influencera pas le planificateur. Dans des conditions limitées, ESXi peut "voler" le temps CPU inutilisé à vos invités, mais sinon le cœur restera inactif à moins qu'un autre invité ne l'utilise également.
Nathan C
@ChrisJ Il n'est pas nécessaire de désactiver. N'essayez pas de déjouer VMware :)
ewwhite
Je n'essaie pas de déjouer VMWare, j'essaie de deviner Windows (car il ne semble pas qu'il planifie une application sur tous les processeurs virtuels) :-) Je ne pensais pas que nous devions faire owt, principalement en raison du manque d'informations à ce sujet en ligne (ce qui implique que la plupart / tout le monde le laisse tel quel), mais je voulais juste explorer cet aspect.
Chris J
@ChrisJ Je ne pense pas que les gens touchent directement ce paramètre. Cela fait généralement partie de la politique d'alimentation du système.
ewwhite