Menu
InformatiWeb Pro
  • Index
  • Admin système
  • Virtualisation

Connexion

Inscription Mot de passe perdu ?
US
  • Windows Server
    • WMS 2012
    • WS2012 R2
    • WS2016
  • Citrix
    • Citrix NetScaler Gateway
    • Citrix XenApp / XenDesktop
    • Citrix XenServer
  • VMware
    • VMware ESXi
    • VMware vSphere
    • VMware Workstation
  • Microsoft
    • Hyper-V
  • RAID
    • Adaptec SmartRAID
  • UPS
    • APC Back-UPS Pro
  • InformatiWeb Pro
  • Virtualisation
  • VMware
  • Formations
  • Aller plus loin dans l'apprentissage de VMware ESXi 6.7
  • Fonctionnement de la gestion du CPU
5 / 16
  • Synchroniser l'horloge depuis un serveur de temps
  • Fonctionnement de la gestion de la mémoire (RAM)
  • VMware
  • 31 mars 2023 à 13:24
  • InformatiWeb
  • 1/2

Fonctionnement de la gestion du processeur (CPU) sous VMware ESXi 6.7

Grâce au client web (HTML5) de VMware ESXi, vous pouvez surveiller l'utilisation du processeur (CPU) hôte et invité, mais aussi d'autres informations concernant le CPU hôte.
Ce qui vous permettra de diagnostiquer les problèmes de performances de vos machines virtuelles en repérant les données importantes.

  1. Surveiller l'utilisation du processeur
    1. Utilisation du processeur hôte (pCPU) par l'hôte
    2. Utilisation du processeur hôte (pCPU) par une machine virtuelle (VM)
    3. Utilisation du processeur invité (vCPU) par une machine virtuelle (VM) sous Windows
  2. Surveiller l'état Prêt du processeur (CPU)
    1. Utiliser des machines virtuelles avec un seul vCPU
    2. Utiliser des machines virtuelles avec plusieurs vCPUs
  3. Surveiller l'état CO-STOP du processeur (CPU)
    1. Pas de CO-STOP avec les machines virtuelles possédant 1 vCPU
    2. Apparition du CO-STOP avec les machines virtuelles possédant plusieurs vCPUs
  4. Alignement NUMA

1. Surveiller l'utilisation du processeur

1.1. Utilisation du processeur hôte (pCPU) par l'hôte

Pour commencer, sur la page d'accueil (accessible via le menu "Hôte" à gauche), vous pouvez surveiller l'utilisation du processeur (CPU) via les informations affichées en haut à droite.
Vous pouvez voir la fréquence utilisée (en MHz/GHz ou en %), sa capacité totale (en MHz/GHz) et ce qui est disponible (en MHz/GHz).
Notez que l'utilisation apparait en vert (uniquement si le processeur est un minimum utilisé).

Notez que la capacité en GHz affichée par VMware ESXi correspond à la fréquence de base de votre processeur (dans notre cas : 3 GHz) multipliée par le nombre de coeurs physiques de votre processeur.
Ce qui donne dans notre cas : 3 GHz x 18 = 54 GHz.

Si vous allez dans le menu "Hôte -> Surveiller", vous verrez par défaut le graphique concernant le processeur (CPU).
Comme vous pouvez le voir, ce graphique vous permet de surveiller :

  • [Nom de votre hôte ESXi] : l'utilisation globale de tous les processeurs de votre serveur (dans le cas où vous en auriez plusieurs).
  • Module X : l'utilisation de chaque processeur physique (socket) de votre serveur

Notez que VMware ESXi ne peut afficher que l'historique d'utilisation pour la dernière heure d'utilisation.
Pour avoir un historique plus long, vous aurez besoin de VMware vCenter Server (VCSA).

Si vous le souhaitez, vous pouvez cliquer sur l'option "Sélectionner des VM" pour ajouter des machines virtuelles sous tension (allumées) dans ce graphique.

Ainsi, vous pouvez surveiller l'utilisation du processeur par l'hôte, ainsi que par les VMs souhaitées via un seul graphique.

1.2. Utilisation du processeur hôte (pCPU) par une machine virtuelle (VM)

Si vous allez dans le menu "Machines virtuelles", vous pourrez voir rapidement l'utilisation du processeur (en MHz/GHz) par chaque machine virtuelle dans la colonne "CPU hôte".

Si vous cliquez sur le nom d'une machine virtuelle, vous pourrez voir l'utilisation du processeur en temps réel (en MHz/GHz) par celle-ci.

Plus bas, vous trouverez un graphique "Résumé de performances de la dernière heure" où vous pourrez surveiller l'utilisation du CPU hôte (en vert) pour la dernière heure.
L'axe que vous devez regarder est celui de gauche : CPU hôte consommé/prêt (%).

Vous pouvez aussi surveiller l'utilisation du processeur (CPU) hôte par une machine virtuelle, en cliquant sur "Surveiller" en haut de la page de votre VM.

Cette fois-ci, vous verrez uniquement l'utilisation du processeur (CPU) par cette machine virtuelle.
Notez qu'il s'agit d'une moyenne étant donné que vous n'avez pas le détail par coeur.

1.3. Utilisation du processeur invité (vCPU) par une machine virtuelle (VM) sous Windows

Sous Windows 10, vous pouvez surveiller l'utilisation du processeur (CPU) depuis le système d'exploitation invité grâce au gestionnaire des tâches.

Si ceci apparait (en fonction de la version de Windows utilisée), cliquez sur : Plus de détails.

Allez dans l'onglet "Performance", vous pourrez surveiller l'utilisation du processeur invité (ce qui est alloué à la VM) de façon globale.

En bas, vous trouverez notamment la fréquence (vitesse) actuelle en GHz, le nombre de processeurs virtuels (sockets) et le nombre total de coeurs (processeurs virtuels) qu'elle possède.

Si vous souhaitez voir l'utilisation par coeur de processeur, alors faites un clic droit sur le graphique et cliquez sur : Modifier le graphique en -> Processeurs logiques.

Cette fois-ci, vous pouvez vérifier l'utilisation par coeur.
Ce qui est très pratique pour vérifier qu'un logiciel spécifique utilise le nouveau processeur ajouté à chaud sur votre machine virtuelle (le cas échéant).
En effet, même si VMware ESXi vous permet d'ajouter des processeurs à chaud sur une machine virtuelle, il faut également que la solution professionnelle que vous utilisez dans cette machine virtuelle supporte l'utilisation de processeurs ajoutés à chaud (= après le démarrage de la machine virtuelle).

2. Surveiller l'état Prêt du processeur (CPU)

L'état "Prêt" du processeur correspond au temps d'attente entre 2 exécutions sur le processeur physique pour une machine virtuelle spécifique.
Comme vous le verrez grâce aux 2 exemples ci-dessous, il est préférable de NE PAS allouer trop de coeurs de processeur à vos machines virtuelles.
En effet, cela peut augmenter ce temps d'attente (CPU Ready), voire pénaliser également les autres machines présentes sur cet hôte VMware ESXi.

2.1. Utiliser des machines virtuelles avec un seul vCPU

Pour le 1er exemple, nous allons utiliser un hôte VMware ESXi avec un processeur possédant uniquement 4 coeurs.
Note : pour ce tutoriel, nous avons utilisé un hôte VMware ESXi virtualisé sous VMware ESXi.

Sur cet hôte VMware ESXi, nous avons créé 3 machines virtuelles identiques.

Pour cet exemple, nous avons alloué un seul coeur de processeur à chacune.
Techniquement, si les machines virtuelles utilisent leur processeur invité (vCPU) à 100% en permanence, cela signifiera que le processeur hôte (pCPU) sera utilisé au maximum à 75% à cause de ces machines virtuelles.

Pour démontrer ceci, nous avons utilisé un logiciel de stress test pour le processeur (CPU).
En ouvrant le gestionnaire des tâches dans la machine virtuelle, on peut constater que le processeur est utilisé à 100% en permanence.

Attention : nous effectuons nos tests avec des machines virtuelles se trouvant sur un hôte VMware ESXi virtuel, ce qui nous évite de faire surchauffer accidentellement le processeur de notre PC physique.
En effet, physiquement, il n'y a que 4 coeurs (alloués à l'hôte virtuel) qui pourront être utilisés au maximum sur les 18 coeurs physiques que notre processeur possède.

Sur la page d'une de vos machines virtuelles, cliquez sur "Surveiller".
Comme vous pouvez le voir, le processeur hôte est utilisé à 100% en permanence et le temps d'attente pour le processeur hôte pour cette machine virtuelle n'est que de 0,33%.
Il n'y a donc pas réellement d'attente étant donné que VMware ESXi peut gérer l'exécution des 3 coeurs virtuels sur ces 4 coeurs physiques sans créer de file d'attente.

Source : CPU (%) - VMware Docs.

Si vous allez dans "Hôte -> Surveiller" et que vous cliquez sur "Sélectionner des VM" pour ajouter vos 3 machines virtuelles dans ce graphique, vous verrez que :

  • esxi / Module 0 : le processeur physique (pCPU) du serveur est utilisé à environ 75%.
    Ce qui est normal étant donné que 3 coeurs sur 4 sont utilisés par vos machines virtuelles.
  • VM - [Nom de chaque VM] : le processeur invité (vCPU) de chaque machine virtuelle est utilisé à 100% (grâce au programme de stress test CPU).

Note : les valeurs "PCPU X" correspondent à l'utilisation de chaque coeur du processeur physique (pCPU).

Dans ce cas-ci, le scheduling du processeur physique de l'hôte sera très simple, car votre serveur pourra exécuter simultanément toutes les instructions processeur de vos machines virtuelles et répéter ceci indéfiniment.
Ce qui veut dire qu'il n'y aura pas d'attente pour vos machines virtuelles entre 2 instructions à exécuter sur le processeur physique (pCPU).
Notez que depuis VMware vSphere 6.7 U2, il est possible de mettre un vCPU par coeur logique. Donc, généralement, 2 vCPUs par coeur physique grâce à l'hyperthreading chez Intel.
Source : Performance of vSphere 6.7 - Scheduling Options (page 4).

Attention : depuis la génération 12 des processeurs Intel, il y a maintenant 2 types de coeurs.
Des coeurs "Performance" (= 2 coeurs logiques par coeur physique) et des coeurs "Efficient" (= 1 coeur logique par coeur physique).
Source : Intel Unveils 12th Gen Intel Core, Launches World’s Best Gaming Processor, i9-12900K.

Si vous allez dans le menu "Hôte", vous verrez à nouveau que le processeur physique est utilisé environ à 75%.

Pour le moment, vos 3 machines virtuelles sont donc fluides et votre serveur continuera de fonctionner correctement malgré le stress test CPU lancé dans ces 3 machines virtuelles.

2.2. Utiliser des machines virtuelles avec plusieurs vCPUs

Pour le 2ème exemple, nous avons réutilisé les 3 machines virtuelles créées précédemment, mais cette fois-ci, nous avons alloué :

  • 2 coeurs aux machines virtuelles "Win 10 v2004 - VM1" et "Win 10 v2004 - VM2".
  • 4 coeurs à la machine virtuelle "Win 10 v2004 - VM3".

Ce qui signifie que virtuellement, 8 coeurs seront utilisés par ces machines virtuelles, alors que notre hôte VMware ESXi n'en possède que 4.
Il y aura donc une file d'attente pour l'exécution des instructions sur le processeur physique (pCPU) pour ces machines virtuelles.

Comme précédemment, nous avons lancé nos 3 machines virtuelles simultanément et nous y avons lancé le programme de stress test CPU pour que le processeur invité soit utilisé à 100% en permanence.

Notez que Cinebench peut effectuer un stress test CPU sur tous les coeurs du processeur si vous le souhaitez.
Ce que nous avons fait.
Ainsi, si vous lancez le gestionnaire des tâches et que vous affichez le graphique d'utilisation du processeur (CPU) par processeur logique, vous verrez que tous les coeurs sont utilisés à 100%.

Comme vous pourrez très facilement le voir dans le graphique d'utilisation du processeur de vos machines virtuelles, le processeur hôte n'est plus utilisé qu'à 50% étant donné que 50% du temps, votre machine virtuelle devra attendre pour pouvoir continuer à exécuter des instructions sur le processeur physique (pCPU).

  • CPU - 50 : la machine virtuelle n'utilise le processeur physique qu'à 50%.
  • Prêt - 50 : la machine virtuelle attend 50% du temps.
    Ce qui correspond au temps d'attente entre 2 exécutions d'instructions sur le processeur physique par cette machine virtuelle.
    Plus cette valeur sera élevée, plus le temps d'attente sera long et donc plus la machine virtuelle mettra du temps à réagir.

Ce qui prouve que créer des machines virtuelles avec trop de coeurs peut rapidement pénaliser la machine virtuelle concernée, mais également les autres machines virtuelles de cet hôte, car leur temps d'attente aura augmenté également.

Dans le cas où vous souhaiteriez acheter un nouveau PC pour apprendre à utiliser VMware ESXi, acheter de préférence un processeur avec plus de coeurs plutôt qu'une fréquence élevée.
En effet, cela vous permettra d'exécuter plusieurs machines virtuelles simultanément (comme dans le 1er exemple) sans que ce temps d'attente n'apparaisse ou qu'il ne soit trop élevé.
De plus, un processeur avec une fréquence plus basse est plus stable qu'un processeur avec une fréquence élevée. Ce qui est préférable pour un serveur.

Si vous allez dans le menu "Hôte -> Surveiller", vous verrez que :

  • esxi / Module 0 : le processeur physique (pCPU) est utilisé à environ 100%.
    Autrement dit, le processeur physique de votre serveur est actuellement en train de saturer.
    Ce qui pénalise tout votre serveur : ses machines virtuelles et ses services.
  • PCPU X : tous les coeurs de votre processeur physique (pCPU) sont évidemment aussi utilisés à 100%.
  • VM - [nom de chaque VM] : le processeur invité de chaque machine virtuelle ne peut être utilisé qu'à 50% dans notre cas, malgré que 2 machines virtuelles possèdent 2 coeurs et une seule machine virtuelle possède 4 coeurs.

En effet, étant donné que le nombre de coeurs de processeurs virtuels alloués à vos machines virtuelles dépasse le nombre de coeurs du processeur physique, une file d'attente est créée par votre hyperviseur pour l'exécution des instructions sur le processeur physique.
Le scheduling du processeur de votre hôte VMware ESXi est donc celui-ci :

  • dans un 1er temps, votre hôte VMware ESXi va exécuter simultanément les instructions processeur de vos 2 machines virtuelles possédant 2 coeurs.
  • dans un 2ème temps, votre hôte VMware ESXi va exécuter les instructions processeur de votre 3ème machine virtuelle (possédant 4 coeurs).
  • ensuite, il va réexécuter les instructions des VMs 1 et 2, puis celles de la VM 3, et ainsi de suite.

Ce qui signifie que le processeur physique n'est disponible pour ces machines virtuelles qu'une fois sur 2 (donc 50% du temps, comme vous pouvez le voir avec le graphique généré par VMware ESXi).

Si vous allez dans le menu "Hôte", vous verrez que le processeur de votre hôte sature.

Page suivante

Partager ce tutoriel

Partager
Tweet

A voir également

  • VMware ESXi 6.7 - Configurer les paramètres des machines virtuelles

    VMware 17/2/2023

    VMware ESXi 6.7 - Configurer les paramètres des machines virtuelles

  • VMware ESXi 6.7 - Connecter un lecteur de cartes à puce à une VM

    VMware 2/6/2023

    VMware ESXi 6.7 - Connecter un lecteur de cartes à puce à une VM

  • VMware ESXi 6.7 - DirectPath I/O (PCI passthrough)

    VMware 19/10/2022

    VMware ESXi 6.7 - DirectPath I/O (PCI passthrough)

  • VMware ESXi 6.7 - Fonctionnement de la gestion de la mémoire (RAM)

    VMware 7/4/2023

    VMware ESXi 6.7 - Fonctionnement de la gestion de la mémoire (RAM)

Commentaires

Vous devez être connecté pour pouvoir poster un commentaire

Donnez-nous votre avis

Contenu épinglé

  • Logiciels (Admin système)
  • Logiciels Linux
  • Nos programmes
  • Conditions générales
  • Donnez votre avis

Contact

  • Livre d'or
  • Support technique
  • Contact

® InformatiWeb-Pro.net - InformatiWeb.net 2008-2022 - © Lionel Eppe - Tous droits réservés.

Toute reproduction totale ou partielle de ce site est interdite et constituerait une contrefaçon sanctionnée par les articles L.335-2 et suivants du Code de la propriété intellectuelle.