Après avoir créé une machine virtuelle avec Hyper-V, vous pouvez définir le nombre de processeurs logiques ou vCPU pour améliorer ses performances. Vous pourriez alors vous demander combien pouvez-vous en allouer en fonction des caractéristiques de votre processeur ? Dans cet article, je vais vous explique comment savoir combien de vCPU pouvez-vous allouer sur vos VM Hyper-V.
✏️ Note : Vous trouverez diffĂ©rentes terminologies dans cet article : processeur logique, processeur virtuel ou vCPU. C’est la mĂŞme chose.
Identifier le nombre de processeurs logiques ou vCPU disponibles
Comme mentionnĂ© sur ce Wiki, le processeur physique (CPU) disponible sur l’hĂ´te hyperviseur est divisĂ© en processeurs logiques (vCPU). Ce sont ces processeurs virtuels qui sont allouables Ă une machine virtuelle.
Avec Windows, il est assez simple d’identifier le nombre de processeurs logiques disponibles sur votre système. Ouvrez le Gestionnaire des tâches, puis allez dans les onglets Performance – Processeur. Vous trouverez les caractĂ©ristiques du CPU installĂ© sur l’hĂ´te, ainsi que le nombre de processeurs logiques identifiĂ©s par le système. Ce dernier indique le nombre de processeurs virtuels allouables
Une autre méthode consiste à récupérer le numéro de modèle du CPU et à consulter ses caractéristiques sur le site du constructeur :
Vous trouverez le nombre de threads de votre CPU, ce qui correspond au nombre de processeurs logiques. Je vous invite à lire aussi cet article si vous souhaitez en savoir plus sur les différences en un cœur, un thread et un processeur logique de CPU.
Combien de vCPU pouvez-vous allouer au maximum sur une VM Hyper-V ?
Maintenant que vous connaissez le nombre de processeurs virtuels disponibles sur votre système, vous pouvez plus facilement déterminer le nombre de vCPU que vous pouvez allouer à une machine virtuelle Hyper-V.
En effet, si vous avez Ă disposition 16 processeurs logiques, comme illustrĂ© dans l’exemple plus haut, vous pouvez allouer jusqu’Ă 16 processeurs virtuels par VM. Si vous en dĂ©finissez davantage, le gestionnaire Hyper-V vous alertera et ne dĂ©marrera pas la VM.
Quel ratio de vCPU alloués dois-je maintenir sur Hyper-V ?
Il n’y a pas de rĂ©ponse universelle Ă cette question. Cela va dĂ©pendre de l’utilisation de votre hĂ´te et de vos VM.
Cela dit, une mĂ©thode simple pour dĂ©finir un bon ratio de vCPU avec Hyper-V, sans surcharger l’hĂ´te, est de conserver un ratio 1-1. C’est-Ă -dire, un processeur logique affectĂ© Ă une VM consomme un vCPU. Par exemple, si vous avez 16 processeurs logiques disponibles et vous en affectez quatre Ă une VM, il vous en reste 12 Ă affecter.
Vos VM peuvent partager des processeurs logiques
Mais vous pourriez en allouer plus. Lorsqu’une machine virtuelle est exĂ©cutĂ©e sur l’hĂ´te Hyper-V, elle ne rĂ©serve pas l’usage d’un vCPU et ne consomme pas en permanence ses ressources. Ces dernières sont en permanences Ă©changĂ©es entre votre hĂ´te et vos VMs. Les besoins sont placĂ©s dans une file d’attente et traitĂ©s en fonction des prioritĂ©s. Lorsqu’une VM ne consomme pas de vCPU, les ressources sont disponibles pour d’autres machines virtuelles.
Il est donc tout Ă fait envisageable de dĂ©finir une relation 2-1. Autrement dit, si vous avez 16 processeurs logiques, vous pourriez affecter 32 vCPU, avec un maximum de 16 processeurs logiques par VM. Tout dĂ©pend donc de l’utilisation faite de vos VMs et des tâches qu’elles accomplissent.
Notez qu’il est possible avec Hyper-V de dĂ©finir plus finement les ressources CPU affectĂ©es en voter VM grâce au ContrĂ´le des ressources disponible dans l’onglet Processeur.
Vous pouvez ainsi spécifier les paramètres suivants :
- RĂ©serve de l’ordinateur virtuel (pourcentage) : permet de garantir les ressources de vCPU. Par exemple, si vous avez dĂ©fini 2 vCPU et un taux de 100%, vous garantissez la disponibilitĂ© des ressources de 2 vCPU
- Pourcentage des ressources système totale : affiche un calcul du pourcentage total des vCPU disponibles sur l’hĂ´te assignĂ©s sur la VM
- Limite de l’ordinateur virtuel (pourcentage) : Restreint la consommation en pourcentage des vCPU assignĂ©s. Par dĂ©faut, elle peut consommer 100% des vCPU assignĂ©s.
- Poids relatif : Ce paramètre est utilisé pour prioriser ou non prioriser les VM qui sont en concurrence avec les ressources CPU. Par défaut, le poids est de 100. Vous pouvez définir une valeur entre 0 et 10 000.
Selon la configuration d’Hyper-V, le contrĂ´le des ressources peut ne pas ĂŞtre actif, je vous invite Ă lire la section suivante pour en savoir plus.
Types de planificateurs d’hyperviseur Hyper-V
Les types de planificateurs déterminent la façon dont l’hyperviseur Hyper-V alloue et gère le travail entre les processeurs virtuels invités.
Vous trouverez les planificateurs suivants :
- 1 = Planificateur classique, SMT désactivé
- 2 = Planificateur classique : valeur par dĂ©faut jusqu’Ă Windows Server 2016. Le planificateur classique fournit un modèle de planification de tourniquet prĂ©emptif pour les processeurs virtuels invitĂ©s.
- 3 = Planificateur principal ou Core : depuis Windows server 2016, offre une meilleure sécurité et isolation et de meilleures performances pour les hôtes compatibles SMT.
- 4 = Planificateur racine ou Root : introduit depuis Windows 10 version 1803 et dĂ©diĂ© Ă l’usage d’Hyper-V sur des machines comme Windows 10 et Windows 11, afin d’optimiser la gestion et le dĂ©ploiement.
Ces types de planificateurs sont dĂ©finis par dĂ©faut, en fonction du système d’exploitation, et vous n’avez pas Ă les modifier dans la plupart des cas.
Pour connaitre les type de planificateur en cours d’exĂ©cution sur l’hyperviseur, utilisez la commande dans une fenĂŞtre PowerShell :
Get-WinEvent -FilterHashTable @{ProviderName="Microsoft-Windows-Hyper-V-Hypervisor"; ID=2} -MaxEvents 1
Sur une machine Windows 10 ou Windows 11, le planificateur est par défaut sur Root
. Vous ne pouvez pas accĂ©der au contrĂ´le des ressources dans l’onglet processeur. Un message s’affiche : « Hyper-V n’est pas configurĂ© de manière Ă autoriser les contrĂ´les des ressources du processeur« .
Vous pouvez alors modifier le type de planificateur depuis une invite de commande en administrateur avec l’instruction suivante et en modifiant le planificateur en Core
ou Classic
:
C:\Windows\System32\bcdedit.exe /set hypervisorschedulertype Core
Réserver des ressources pour le système hôte
Maintenant que vous avez compris comment vous pouvez allouer des vCPU sur une VM Hyper-V, vous pourriez vous demander quelle quantité de CPU laisser disponible sur votre hôte, pour un fonctionnement optimum. En effet, ce dernier requiert de la disponibilité pour un bon fonctionnement.
Encore une fois, tout dĂ©pendra de l’utilisation de l’hĂ´te et de vos VM. Afin de conserver des ressources, vous pouvez partir sur une base d’un cĹ“ur disponible pour le système, au minimum.
Optimiser la charge d’Hyper-V
Pour optimiser la disponibilité des ressources, Microsoft a publié un billet qui récapitule les bonnes pratiques, comme réduire les activités en arrière-plan :
- Laisser les systèmes hĂ´tes sur l’Ă©cran de connexion
- Vérifier les tâches exécutées par défaut
- Ne pas laisser le gestionnaire Hyper-V ouvert sur l’hĂ´te
- DĂ©sactiver les services d’arrière-plan SuperFetch et WindowsSearch
- Supprimer les périphériques non utilisés, comment les DVD et ports COM.