我有一台服务器,其配置如下:
物理服务器(16GB RAM):安装了 Hyper-V 角色的 Windows Server 2012 标准版
该主机服务器上运行 2 台虚拟机:1 台 Windows Server 2008 SP2(64 位),具有以下 RAM 配置:当前分配:8192 MB 启动 RAM:4096 MB 动态内存:最小 RAM:512 MB,最大 RAM:8192 MB 内存缓冲区:20% 内存权重:(处于中间位置)
1 x Windows Server 2008 SP2(32 位),具有以下 RAM 配置:当前分配:1279 MB 启动 RAM:4096 MB 动态内存:最小 RAM:512 MB,最大 RAM:1048576 MB 内存缓冲区:20% 内存权重:(处于中间位置)
上面的 2 台虚拟机是使用 Disk2VHD 物理到虚拟转换工具创建的。
我还禁用了上面第一台虚拟机上的页面文件,因为我读到它是由 2012 Hyper-V 主机管理的(我还没有禁用第二台虚拟机上的页面文件)。
我遇到的问题是,我在第一台机器上看到很多内存不足错误。服务器可能会变得无响应,我必须重新启动它,否则我可能会在事件日志中看到以下错误:
======================================================================================================= COM+ 已确定您的计算机的可用内存非常低。为了确保系统正常运行,已拒绝激活该组件。如果此问题仍然存在,请安装更多内存或增加分页文件的大小。内存统计信息如下:
dwMemoryLoad = 49
ullTotalPhys = 0x1ffea4000
ullAvailPhys = 0x103e81000
ullTotalPageFile = 0x1f802e000
ullAvailPageFile = 0x009f0f000
ullTotalVirtual = 0x7fffffe0000
ullAvailVirtual = 0x7fffac60000
进程名称:w3wp.exe Comsvcs.dll 文件版本:ENU 2001.12.6932.18005 shp
===============================================================================
查看第一台虚拟机上的任务管理器,似乎总是有足够的物理 RAM 可用,事件日志中的上述错误支持了这一点。目前它只使用了分配的 8GB 中的 3.36GB。
在 Windows Server 2012 Hyper-V 主机上运行 Windows 2008 VM 时,有人遇到过这种内存不足问题吗?
也许我应该在虚拟机上重新启用页面文件?
多谢你们。
答案1
不要这样做。重新启用访客分页文件。
智能分页功能仅用于提供可靠的虚拟机重启,不用于任何其他情况,包括机器从关闭状态启动而不是重新启动,或任何其他内存过量使用的情况。
VM 主机在分页决策方面仍然不比客户机更智能。
答案2
我重新启用了客户机页面文件,一段时间内似乎一切正常,但随后问题又出现了。现在我不得不将其改回固定内存,它运行良好。我知道这不是一个解决方案,但由于这台服务器上目前只有 1 个虚拟机,所以这不是问题。