内存分配给虚拟机之后,Hyper-V主机把系统可用内存资源分配给创建之后的虚拟机,默认的内存我们称之为静态内存,即当你创建虚拟机时你给多少G内存那么虚拟机就分配多少G内存,WindowsServer 2012 Hyper-V提供的动态内存功能,管理员可以重新调整资源,让有限的内存资源能够得到充分利用,以便达到更好的内存整合和更高的管理效率。

一:静态内存:即分配给虚拟机的内存。虚拟机没有启动的时候,不会占用物理计算机内存,虚拟机启动时,将从个物理计算机内存中划分出指定大小的内存给虚拟机使用,物理计算机将减少同样大小的内存。(图一)

图一

二:动态内存:

1、技术概述: Windows Server 2008 R2 Service Pack 1 (SP1) 中引入的动态内存,将启动内存定义为虚拟机的最低内存数量。但是,Windows 在启动过程中比在稳定状态中需要更多内存。因此,管理员有时会给虚拟机分配额外的内存,因为 Hyper-V 无法在启动后从这些虚拟机回收内存。在 Windows Server 2012 中,动态内存引入了最低内存设置,从而允许 Hyper-V 从虚拟机回收未使用的内存。这反映在增加的虚拟机合并数量方面,尤其是在虚拟桌面基础结构 (VDI) 环境中。Windows Server 2012 还引入了智能分页技术以获得可靠的虚拟机重新启动操作。虽然最低内存可以增加虚拟机的合并数量,但它也带来一项挑战。如果一台虚拟机具有比其启动内存更小数量的内存,如果它重新启动,则 Hyper-V 需要附加的内存才能重新启动虚拟机。由于主机内存压力或虚拟机状态的原因,Hyper-V 可能并不总是有附加内存可用。这可能偶尔会导致虚拟机重新启动失败。智能分页用于弥补最低内存和启动内存之间的差距,使得虚拟机能可靠地重新启动。

2、配置动态内存:本例以名称为“VMM-WDS-01”虚拟机为例演示如何启用并配置虚拟机:

Step1:打开服务器管理器,点击工具,选择Hyper-V管理器。鼠标右键单击需要启用动态内存的虚拟机,选择“设置”出现虚拟机属性对话框,选择“硬件”—“内存”(图二)

图二

Step2:选择“启用动态内存”并配置你需要配置的最大内存和最小内存值大小,本例中最小为512MB,最大为8192MB,内存缓冲区保持默认设置为“20%”。微软缓冲区百分比范围为5%至95%。设置虚拟机“内存权重”,拖动“内存权重”区域的滑动条改变虚拟机内存。当物理内存受到限制时,该设置有助于确定那个设备优先使用内存,该设置意味着当内存不够时,数值大的将会优先得到内存,低优先级的虚拟机内存会被系统剥夺,然后分配给更高优先级的虚拟机。(图三)

图三

Step3:单击“确定”按钮,即可启动动态内存功能。

Step4:动态内存监控:

  (1)打开“资源监视器”,虚拟机运行前内存使用值为3633MB。(图四)

图四

(2)虚拟机运行后,虚拟机管理窗口显示虚拟机内存使用状态能(图五),此时动态内存以自动分配使用的内存。

图五

(3)此时会发现,虚拟机运行前“正在使用的内存为3633MB”,分配给虚拟机的内存为4096MB,启动虚拟机后,“正在使用”的内存为4303MB(图六),虚拟机实际使用的内存为670MB,远低于分配的内存,因此在当前Hyper-V主机中我们能够运行更多的虚拟机,更加能够满足虚拟机用于突发内存的使用需求,提高内存使用效率。

图六

(4)因为我们使用了动态内存技术,因此虚拟机资源的使用情况为动态变化中,对内存的使用也处于动态变化中。(图七)

图七

下一篇幅我们将讨论一些Hyper-V虚拟机内存技术中所涉及的一些相关名词术语