Impossible de démarrer la machine dans Hyper-V - «Mémoire insuffisante dans le système pour démarrer la machine virtuelle»

13

J'ai un hôte Windows 8.1 essayant de démarrer une machine virtuelle via Hyper-V. La machine virtuelle est configurée pour utiliser 10 Go de RAM, j'ai 16 Go, elle devrait démarrer mais ce n'est pas le cas.

Au lieu de cela, je reçois le message

'{VM NAME}' n'a pas pu s'initialiser.

Mémoire insuffisante dans le système pour démarrer la machine virtuelle {VM NAME}

L'hôte dispose de 16 Go de RAM, dont seulement 4,8 Go sont utilisés. Cela laisse au moins 11 Go disponibles pour Hyper-V à utiliser. Sauf que ce n'est pas possible.

Pour être plus précis, le gestionnaire de tâches signale la situation de mémoire suivante: -

  • En cours d'utilisation - 4,8 Go
  • Disponible - 11,0 Go
  • Engagé - 7,5 / 21,9 Go
  • En cache - 10,8 Go
  • Piscine paginée - 592 Mo
  • Piscine non paginée - 309 Mo

Je comprends que j'ai actuellement 10,8 Go de mémoire "en veille". Mais cela devrait être publié si Hyper-V le demande, non?

Si je redémarre puis demande immédiatement à Hyper-V de démarrer la machine, cela fonctionne, mais je dois être rapide car la mémoire de secours se remplit assez rapidement.

Est-ce normal? Existe-t-il un moyen de vider la mémoire de secours et de la récupérer, afin de pouvoir démarrer ma machine virtuelle sans avoir à redémarrer l'hôte?

Mat Fergusson
la source

Réponses:

7

La machine virtuelle est configurée pour utiliser 10 Go de RAM, j'ai 16 Go, elle devrait démarrer mais ce n'est pas le cas.

Pas assez d'informations.

L'hôte dispose de 16 Go de RAM, dont seulement 4,8 Go sont utilisés. Cela laisse au moins 11 Go disponibles pour Hyper-V à utiliser. Sauf que ce n'est pas possible.

Trop petit. J'adore ajouter 1 Go par minute en réserve.

De plus, vous avez déjà engagé 7,5 Go - cela sent déjà mauvais.

Tu es tout simplement trop maigre. Tu peux maintenant:

  • Obtenez plus de mémoire ou
  • Réduisez l'allocation de mémoire statique ou
  • Passez à l'allocation de mémoire dynamique et donnez simplement à la machine 512 Mo pour démarrer, puis elle s'agrandit au besoin.
TomTom
la source
Je vois maintenant que "In Use" et "Committed" sont différents. Bien qu'il ait prétendu que j'avais 11 Go «disponibles», je ne l'ai pas fait. Étant donné que mon total engagé était de 7,5 Go, je n'avais en fait que 8 Go non engagés .
Mat Fergusson
J'ai libéré un autre 1/2 Go pour obtenir "Committed" en dessous de 7 Go et réduit l'allocation de la machine virtuelle à 9 Go, puis cela a fonctionné.
Mat Fergusson
1
@MatFergusson Ouais. Une chose que vous pouvez également faire dans les versions ultérieures est la mémoire DYNAMIC. J'alloue toujours un minimum de 512 Mo à mes machines, en démarrant 1 Go (et 2 processeurs). Fonctionne comme un charme - la mémoire se dilate ensuite au besoin.
TomTom
2

Si vous n'avez vraiment pas plus de mémoire à épargner, comme je l'ai sur un ordinateur portable, envisagez d'utiliser SysInternals RamMap ( https://technet.microsoft.com/en-us/library/ff700229.aspx ), car vous pouvez effacer le fonctionnement set, qui fonctionne bien, puis élimine le redémarrage pour moi.

Vous pouvez également envisager d'utiliser la mémoire dynamique, comme l'a recommandé @TomTom, achetez également et assurez-vous que la machine dispose du minimum d'applications requises en cours d'exécution, si vous choisissez de la suspendre. J'ai également spécifié un maximum sur une machine virtuelle que j'utilise pour éviter / atténuer des situations comme celle-ci.

Anthony Horne
la source
2

J'ai eu ce problème avec ma VM. J'ai essayé presque tout. Cela a finalement fonctionné lorsque je suis allé dans les paramètres de la machine virtuelle, en cliquant sur Action de démarrage automatique dans le menu de gauche. et pour ce que voulez-vous que cette machine virtuelle fasse lorsque l'ordinateur physique démarre, j'ai choisi l'option "Toujours démarrer cette machine virtuelle automatiquement" et redémarrer la machine hôte. Cela invitera l'hôte à démarrer le VM avant que d'autres services ne démarrent sur la machine hôte, permettant à l'hôte d'allouer la mémoire requise pour le VM. J'espère que cela vous aidera.

JacobK
la source