Problème de mémoire dynamique Hyper-V sur une VM Linux

Morel Élodie 80 Points de réputation
2026-09-02T14:52:47.1466667+00:00

J’exécute plusieurs machines virtuelles Linux sur Hyper-V avec la mémoire dynamique activée. Après une réduction de la mémoire allouée, certaines VM rencontrent des erreurs « Out of Memory », et le pilote Balloon semble ne pas restituer correctement la mémoire au système invité. Quelles vérifications et quelles étapes recommandez-vous pour mettre à jour les pilotes LIS et ajuster les paramètres du noyau Linux afin d’éviter ce problème ?

Windows pour les entreprises | Windows 365 Business
0 commentaires Aucun commentaire

1 réponse

  1. Domic Vo 37,240 Points de réputation Conseiller indépendant
    2026-09-02T15:34:20.87+00:00

    Bonjour,

    le problème que vous décrivez est typique des environnements Hyper‑V avec mémoire dynamique lorsque le pilote LIS (Linux Integration Services) côté invité ne gère pas correctement la restitution de mémoire via le balloon driver. Cela peut provoquer des erreurs « Out of Memory » après une réduction de la mémoire allouée, car le noyau Linux croit disposer de moins de mémoire que réellement disponible ou ne libère pas les pages correctement.

    La première vérification consiste à s’assurer que les LIS drivers sont à jour. Sur les distributions modernes, ils sont intégrés au noyau, mais il est recommandé de vérifier la version avec modinfo hv_balloon et modinfo hv_utils. Si vous utilisez une distribution plus ancienne, installez ou mettez à jour le paquet linux-tools ou hyperv-daemons selon la distribution. Microsoft publie régulièrement des mises à jour pour corriger des problèmes de ballooning.

    Ensuite, côté noyau Linux, assurez‑vous que le module hv_balloon est bien chargé (lsmod | grep hv_balloon). Vérifiez également les paramètres de mémoire dynamique dans Hyper‑V : évitez de définir une valeur minimale trop basse, car le guest peut se retrouver en dessous de son seuil de fonctionnement. En pratique, définissez une mémoire minimale qui correspond au besoin réel du système et laissez la mémoire dynamique gérer l’augmentation.

    Pour le paging, assurez‑vous que le swap est correctement configuré dans le guest. Sans swap, une réduction agressive de mémoire peut provoquer un OOM immédiat. Vérifiez avec swapon -s et ajustez la taille du swap pour qu’elle soit au moins égale à la mémoire minimale configurée dans Hyper‑V.

    Enfin, concernant l’espace MMIO et WriteCombined, Hyper‑V réserve automatiquement l’espace MMIO pour les périphériques virtuels. Sur Linux, vous pouvez vérifier les mappings via /proc/iomem. Le paramètre WriteCombined est généralement géré côté Hyper‑V et n’a pas besoin d’être modifié manuellement, sauf si vous avez un cas spécifique documenté par Microsoft ou le fournisseur de distribution.

    En résumé, mettez à jour les LIS drivers, fixez une mémoire minimale réaliste dans Hyper‑V, assurez la présence d’un swap suffisant dans le guest, et vérifiez que le module hv_balloon fonctionne correctement. Si malgré cela les erreurs persistent, il est conseillé de tester avec mémoire dynamique désactivée pour confirmer que le problème est bien lié au balloon driver, puis d’ouvrir un ticket auprès de Microsoft ou de la distribution Linux pour obtenir un correctif.

    Domic Vo.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire

Votre réponse

Les réponses peuvent être marquées comme « Acceptées » par l’auteur de la question et « Recommandées » par les modérateurs, ce qui aide les utilisateurs à savoir que la réponse a résolu le problème de l’auteur.