Не удается запустить компьютер в Hyper-V - «Недостаточно памяти в системе для запуска виртуальной машины»

13

У меня есть хост Windows 8.1, пытающийся запустить виртуальную машину через Hyper-V. Виртуальная машина настроена на использование 10 ГБ ОЗУ, у меня 16 ГБ, она должна запуститься, но это не так.

Вместо этого я получаю сообщение

'{VM NAME}' не удалось инициализировать.

Недостаточно памяти в системе для запуска виртуальной машины {VM NAME}

Хост имеет 16 ГБ ОЗУ, из которых используется только 4,8 ГБ. Это оставляет как минимум 11 ГБ доступным для использования Hyper-V. За исключением того, что не может.

Чтобы быть более точным, диспетчер задач сообщает о следующей ситуации с памятью:

  • В использовании - 4,8 ГБ
  • В наличии - 11,0 ГБ
  • Совершено - 7,5 / 21,9 ГБ
  • Кэшируется - 10,8 ГБ
  • Выгружаемый пул - 592 МБ
  • Не выгружаемый пул - 309 МБ

Я понимаю, что у меня в настоящее время 10,8 ГБ памяти в режиме ожидания. Но это должно быть выпущено, если Hyper-V просит это правильно?

Если я перезагружаюсь, то сразу же запрашиваю Hyper-V, чтобы машина начала работать, но мне нужно быть быстрым, потому что резервная память заполняется довольно быстро.

Это нормально? Есть ли способ очистить резервную память и вернуть ее обратно, чтобы я мог запустить виртуальную машину без перезагрузки хоста?

Мат Фергюссон
источник

Ответы:

7

Виртуальная машина настроена на использование 10 ГБ ОЗУ, у меня 16 ГБ, она должна запуститься, но это не так.

Недостаточно информации.

Хост имеет 16 ГБ ОЗУ, из которых используется только 4,8 ГБ. Это оставляет как минимум 11 ГБ доступным для использования Hyper-V. За исключением того, что не может.

Слишком мало. Я люблю добавлять 1 ГБ на ВМ в качестве резерва.

Также у вас уже есть выделенные 7.5gb - это уже пахнет неправильно.

Ты просто слишком худой. Ты можешь сейчас:

  • Получите больше памяти или
  • Уменьшите статическое выделение памяти или
  • Перейдите к динамическому распределению памяти и просто дайте машине 512 Мб для запуска, тогда она будет расти по мере необходимости.
TomTom
источник
Теперь я вижу, что «Используется» и «Совершено» различаются. Хотя он утверждал, что у меня было 11 ГБ "Доступно", я на самом деле не сделал. Так как мой привержен был общий 7.5GB , то я на самом деле был только 8.GB остальные не-совершено .
Мат Фергюссон
Я высвободил еще 1/2 ГБ, чтобы уменьшить «Committed» до уровня ниже 7 ГБ, и уменьшил выделение виртуальной машины до 9 ГБ, после чего все заработало.
Мат Фергюссон
1
@MatFergusson Да. В более поздних версиях вы также можете использовать ДИНАМИЧНУЮ память. Я всегда выделяю минимум 512 Мб на мои машины, начиная с 1 Гб (и 2 процессоров). Работает как шарм - память расширяется по мере необходимости.
TomTom
2

Если вам действительно не хватает дополнительной памяти, как у меня на ноутбуке, рассмотрите возможность использования SysInternals RamMap ( https://technet.microsoft.com/en-us/library/ff700229.aspx ), так как вы можете очистить рабочую область. установить, который работает хорошо, а затем устраняет перезагрузку для меня.

Вы также можете посмотреть на использование динамической памяти, как рекомендовано @TomTom, купить, а также попробовать и убедиться, что на машине запущено минимум необходимых приложений, если вы решите приостановить ее. Я также указал максимум на виртуальной машине, которую я использую, чтобы избежать / уменьшить ситуации, подобные этой.

Энтони Хорн
источник
2

У меня была эта проблема с моей виртуальной машиной. Я перепробовал почти все. Наконец-то это сработало, когда я зашел в настройки виртуальной машины и нажал на «Автоматическое действие запуска» в меню слева и для того, что вы хотите, чтобы эта виртуальная машина делала при запуске физического компьютера, я выбрал опцию «Всегда запускать эту виртуальную машину автоматически» и перезапустите хост-машину. Это побудит хост запустить vm до запуска других сервисов на хост-машине, позволяя хосту выделить память, необходимую для vm. Надеюсь, это поможет.

JacobK
источник