我有一台具有 12GB Ram 的物理服务器,其中系统硬盘为 250Gb(可用 180Gb),还有一个专用硬盘来托管 1Tb 的虚拟机(可用 600+Gb)。
该服务器作为主机运行 Windows Server 2008 R2,上面有多个虚拟机(一些运行 Windows Server 2008 R2,其他运行 Windows Server 2012 R2,还有一些运行 Debian 6、7 和 8)。只要有足够的剩余 RAM,它允许我启动尽可能多的虚拟机,根据任务管理器,我通常会使用 11.8Gb RAM。
现在我将主机升级到 Windows Server 2012 R2(全新安装在空白硬盘上,规格与以前相同)。
它运行良好,但是当任务管理器告诉我已使用 9.5Gb RAM,因此剩余 2.5Gb 可用时,它不允许我启动具有 2Gb RAM 的 VM(1Gb 也不允许,我只能启动具有 512Mb RAM 的 VM,除此之外就什么都不能了)。
什么原因导致此限制? 知道这不是磁盘空间问题,因为所有硬盘上都有足够的可用空间...
答案1
这是设计使然。
Server 2012R2 为主机系统预留了比 2008R2 更多的 RAM,目的是提高主机的稳定性。在 2008R2 中,您可以在注册表MemoryReserve
中设置HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization
您仍然可以更改该密钥,但这可能会导致系统变得不稳定并崩溃。
参考:Technet 文章