Contrôle dynamique de la mémoire (DMC)

XenServer DMC (parfois appelé « optimisation dynamique de la mémoire », « surcommit de mémoire » ou « bulle de mémoire ») fonctionne en ajustant automatiquement la mémoire des machines virtuelles en cours d’exécution, en conservant la quantité de mémoire allouée à chaque machine virtuelle entre les valeurs de mémoire minimales et maximales spécifiées, garantissant ainsi la et permettant une plus grande densité de machines virtuelles par serveur.

Sans DMC, lorsqu’un serveur est plein, le démarrage d’autres machines virtuelles échouera avec des erreurs « mémoire insuffisante ». Pour réduire l’allocation de mémoire de machine virtuelle existante et faire de la place pour plus de machines virtuelles, vous devez modifier l’allocation de mémoire de chaque machine virtuelle, puis redémarrer la machine virtuelle. Lorsque DMC est activé, même lorsque le serveur est plein, XenServer tente de récupérer de la mémoire en réduisant automatiquement l’allocation de mémoire actuelle des machines virtuelles en cours d’exécution dans leurs plages de mémoire définies.

Plage de mémoire dynamique et statique

Pour chaque machine virtuelle, vous pouvez définir une plage de mémoire dynamique qui correspond à la plage dans laquelle la mémoire peut être ajoutée/supprimée de la machine virtuelle sans nécessiter de redémarrage. Vous pouvez ajuster la plage dynamique pendant l’exécution de la machine virtuelle, sans avoir à la redémarrer. XenServer garantit toujours de conserver la quantité de mémoire allouée à la machine virtuelle dans la plage dynamique. Par exemple, si la mémoire minimale dynamique était définie sur 512 Mo et que la mémoire maximale dynamique était définie sur 1024 Mo, cela donnerait à la machine virtuelle une plage de mémoire dynamique (DMR) de 512 à 1024 Mo, dans laquelle elle fonctionnerait. Avec DMC, XenServer garantit à tout moment l’attribution de chaque mémoire de machine virtuelle dans son DMR spécifié.

Lorsque la mémoire du serveur hôte est abondante, toutes les machines virtuelles en cours d’exécution reçoivent leur niveau de mémoire maximale dynamique ; lorsque la mémoire de l’hôte est rare, toutes les machines virtuelles en cours reçoivent leur niveau de mémoire minimum dynamique. Si de nouvelles machines virtuelles sont nécessaires pour démarrer sur des serveurs « complets », leur mémoire est « pressée » pour en démarrer de nouvelles. La mémoire supplémentaire requise est obtenue en serrant proportionnellement les machines virtuelles existantes en cours d’exécution dans leurs plages dynamiques prédéfinies.

De nombreux systèmes d’exploitation pris en charge par XenServer ne prennent pas entièrement en charge l’ajout ou la suppression dynamique de mémoire. Par conséquent, XenServer doit déclarer la quantité maximale de mémoire qu’une machine virtuelle sera jamais appelée à consommer au moment où la machine virtuelle démarre pour permettre au système d’exploitation invité de dimensionner ses tables de page et d’autres structures de gestion de la mémoire en conséquence. Cela introduit le concept d’une plage de mémoire statique dans XenServer. La plage de mémoire statique ne peut pas être ajustée pendant l’exécution de la machine virtuelle, et la plage dynamique est contrainte de manière à être toujours contenue dans cette plage statique jusqu’au prochain redémarrage de la machine virtuelle. Notez que le minimum statique (limite inférieure de la plage statique) est là pour protéger l’administrateur et est défini sur la plus faible quantité de mémoire avec laquelle le système d’exploitation peut s’exécuter sur XenServer.

Important : Citrix vous conseille de ne pas modifier le niveau minimum statique car il est défini au niveau pris en charge par système d’exploitation. Pour plus d’informations, reportez-vous à la sectionConfigurer la mémoire de machine virtuelle. En définissant un niveau maximum statique supérieur à un maximum dynamique, si vous devez allouer plus de mémoire à une machine virtuelle à l’avenir, vous pouvez le faire sans avoir à redémarrer.

Contraintes de mémoire DMC

XenCenter applique les contraintes suivantes lors de la définition des valeurs DMC :

  • La valeur minimale de mémoire dynamique ne peut pas être inférieure à la valeur de mémoire minimale statique.
  • La valeur minimale de mémoire dynamique ne peut pas être supérieure à la valeur de mémoire dynamique maximale.
  • La valeur maximale de la mémoire dynamique ne peut pas être supérieure à la valeur maximale de la mémoire statique.

Vous pouvez modifier les propriétés de mémoire d’une machine virtuelle pour les valeurs qui satisfont à ces contraintes, sous réserve de vérifications de validation. Outre ces contraintes, Citrix prend en charge uniquement certaines configurations de mémoire de machine virtuelle pour un système d’exploitation spécifique. Pour plus d’informations, reportez-vous à la sectionConfigurer la mémoire de machine virtuelle.

Contrôle dynamique de la mémoire (DMC)