Hyper-v Server动态内存

Hyper-v Server动态内存

动态内存管理是Hyper-V R2提供的一项新功能和特性,目前只有Windows Server 2008 R2 Service Pack 1((SP1)以上版本(Windows Server 2012)支持该功能,该功能能够自动平衡服务器上运行的虚拟机所占用的物理内存大小。此功能可以在管理员针对不同虚拟机所指定的内存范围内,根据虚拟机中的应用优先级来自动调整虚拟机对物理内存的占用大小,在应用性能和内存占用大小方面进行自动平衡并达到性能优化的目的。

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

启用Hyper-v动态内存:

测试环境中以我们之前新建的“Test-Hyper-v-03”为例来为大家说明如何开启动态内存:

登陆Hyper-v宿主机--打开Hyper-v管理器:

Hyper-v Server动态内存

右击需要启用动态内存的虚拟机,在弹出的快捷菜单中选择“设置”命令。在此以“Test-Hyper-v-03”为例:

Hyper-v Server动态内存

选择“硬件”→“内存”选项,如图所示:默认设置中“内存管理”配置为“静态”,“内存”设置为“1024”:

Hyper-v Server动态内存

选择“动态”选项,“启动内存”默认设置为“1024MB”,“最大内存”默认为“2048MB”,内存缓冲默认设置为“20%”。

注意:微软缓冲区百分比范围为5%至95%,默认值为20%。如下图所示

Hyper-v Server动态内存

设置虚拟机的“内存权重”,拖动“内存权重”区域的滑动条即可改变虚拟机的内存权重。当物理内存受到限制时,该设置有助于确定哪个设备优先使用内存,该设置表示着当内存不够时,数值大的将会优先得到内存。低优先级的虚拟机内存会被系统剥夺,然后分配给更高优先级的虚拟机。单击“确定”按钮,即可启动动态内存功能。

Hyper-v Server动态内存

动态内存监控

名称为“Test-Hyper-v-03”的虚拟机,已经启用“动态内存”功能,虚拟机运行后,虚拟机集中管理窗口中,显示虚拟机的内存使用状态,如下图所示:

Hyper-v Server动态内存

· 分配的内存:512MB,此值是管理员分配给当前虚拟机的内存。

· 内存需求:368MB,此值是当前虚拟机正在使用的内存大小,即当前虚拟机仅使用了368MB的内存。

· 启动内存:1024MB,虚拟机启动时所需内存。

· 最大内存:2048MB,虚拟机最大可以使用的内存为2048MB.



本文转自wuyvzhang 51CTO博客,原文链接:http://blog.51cto.com/wuyvzhang/1722264,如需转载请自行联系原作者


上一篇:SAP Hybris代码里随处可见的@Scope("tenant")是什么意思


下一篇:SQLServer2008内存飙升 解决