无法在 Hyper-V 中启动机器 — “系统内存不足,无法启动虚拟机”

无法在 Hyper-V 中启动机器 — “系统内存不足,无法启动虚拟机”

我有一台 Windows 8.1 主机,试图通过 Hyper-V 启动虚拟机。虚拟机配置为使用 10GB RAM,我有 16GB,它应该可以启动,但实际上却没有。

相反,我得到了信息

‘{VM NAME}’无法初始化。

系统内存不足,无法启动虚拟机 {VM NAME}

主机有 16GB RAM,其中只有 4.8GB 被使用。这样至少还有 11GB 可供 Hyper-V 使用。但它不能。

更准确地说,任务管理器报告以下内存情况:-

  • 使用中 - 4.8GB
  • 可用 - 11.0 GB
  • 已承诺 - 7.5/21.9GB
  • 缓存 - 10.8GB
  • 分页池 - 592MB
  • 非分页池 - 309MB

我知道我目前有 10.8GB 的​​“待机”内存。但如果 Hyper-V 要求,应该释放这些内存,对吗?

如果我重新启动然后立即要求 Hyper-V 启动机器,它可以工作,但我必须快速行动,因为备用内存很快就会被填满。

这是正常的吗?有没有办法清空待机内存并将其恢复,以便我可以启动虚拟机而无需重新启动主机?

答案1

VM 配置为使用 10GB RAM,我有 16GB,它应该启动,但却没有启动。

信息不够。

主机有 16GB RAM,其中只有 4.8GB 被使用。这样至少还有 11GB 可供 Hyper-V 使用。但它不能。

太少了。我喜欢为每个虚拟机添加 1GB 作为保留。

而且您已经承诺了 7.5gb - 这已经是不正确的了。

你实在是太瘦了。你现在可以:

  • 获取更多内存或
  • 减少静态内存分配或
  • 转到动态内存分配,只需为机器提供 512mb 即可启动,然后它会根据需要增加。

答案2

我的虚拟机也遇到了这个问题。我几乎尝试了所有方法。最后,当我进入虚拟机设置,单击左侧菜单中的“自动启动操作”时,它终于起作用了。对于“当物理计算机启动时,您希望此虚拟机执行什么操作”,我选择了“始终自动启动此虚拟机”选项,然后重新启动主机。这将提示主机在主机上启动其他服务之前启动虚拟机,从而允许主机分配虚拟机所需的内存,我希望这会有所帮助。

答案3

如果你真的没有更多的内存可用,就像我的笔记本电脑一样,可以考虑使用 SysInternals RamMap (https://technet.microsoft.com/en-us/library/ff700229.aspx),因为您可以清除工作集,这样效果很好,并且无需重启。

您还可以考虑使用动态内存,正如@TomTom 所建议的那样,如果您选择暂停它,还要尝试确保机器正在运行最低限度所需的应用程序。我还在我正在使用的虚拟机上指定了最大值,以避免/减少这种情况。

相关内容