我对 Windows Server 2008 R2(标准版)上的 Hyper-V 有疑问。
通过在服务器管理器中添加角色安装和配置 Hyper-V 后,只有配置的内存少于 1388 MB 时我才能启动 VM。(确定这个值需要一些反复试验)。
单击“开始”按钮时,我收到一个非常模糊的错误,指出虚拟机无法启动。该消息也可以在服务器管理器的 Hyper-V 日志中找到,此外还有一个更具信息性的消息。
找不到描述,但是是3030错误,稍微搜索了一下之后,我发现它与CPU或内存资源不足有关。
错误中包含以下信息:
ERA
A8055AFA-9EAB-4B6D-BFF6-3B271E7EE48D
1408
%%2147943850
0x800705AA
ERA 是虚拟机名称,第二行的 UUID 是 Hyper-V 分配的虚拟机内部 UUID(可以在包含该虚拟机配置的 Hyper-V 配置目录中找到相同的 UUID)。第三行是配置的内存,第四行和第五行我不知道。
NUMA 默认处于启用状态,并且我有足够的可用内存来启动该虚拟机:
据我所知(但我可能错了),缓存内存应该是缓存数据以防止 I/O,并且可以轻松释放任何进程需要的内存。然后我认为我有大约 9-10G 的可用内存。
我还注意到,这个值 (1388) 大约相当于实际使用内存的 2G(VM 内存 + Hyper-V 开销)。它看起来有点像 32 位进程内存大小限制,只是毫无意义。Windows 是 64 位(它是 R2),Hyper-V 也是(据我所知,没有 32 位版本的 Hyper-V)。
我还查看了 CPU 设置并启用了虚拟化功能(Intel Vt,......)
感谢您的帮助,
编辑:我没有禁用页面文件,它被设置为 RAM 大小的 1.5 倍,并存储在 C:的另一个卷上
EDIT2:我刚刚发现它可能不仅与 Hyper-V 有关,因为其他进程似乎在分配更多 RAM 时遇到问题。(VMware Workstation 和 Virtualbox 都有相同的问题,只是它们允许机器启动,直到虚拟机实际请求该内存时崩溃)。