首页 > Server, Virtualization > Hyper-V动态内存(下)——内存优先级和内存缓冲区

Hyper-V动态内存(下)——内存优先级和内存缓冲区

2010年8月20日

Hyper-V动态内存功能通过调用内存压力来计算并确定出虚拟机所需要使用的内存大小值。若要执行这一运算过程,Hyper-V需要知道虚拟机中所运行的来宾操作系统所提交的总内存大小,以作为虚拟机所需内存大小计算比例的压力。Hyper-V会分配给虚拟机管理员设置的一个起始内存值,再附加一个缓冲区作为动态附加内存。这个额外附加内存大小值为: 管理为虚拟机分配的初始内存大小+一个百分比。例如,管理员设置缓冲区值为50%,这意味着附加内存最大为虚拟机已经提交内存的50%,虚拟机的来宾操作系统通常使用此额外的附加内存作为其系统文件缓存以增强操作系统和应用程序的性能。

假定Hyper-V已确定虚拟机需要的总提交内存为4GB,如果虚拟机动态内存缓冲区值设置为50%,则表明Hyper-V可以使用最大2GB附加内存作为虚拟机的文件系统缓存。因此,正在使用的虚拟机的总物理内存可能达到6GB。但是,动态内存并不保证提交的总内存量始终被指定给虚拟机。动态内存也不保证配置缓冲区值为更多的内存量始终被指定给虚拟内存。这是因为,实际分配给虚拟机的内存量取决于主机上其它正在运行虚拟机的内存需求压力。

动态内存优先级

此外可以使用动态内存分配给每个虚拟机的内存优先级值。在生产环境中,某此虚拟机可能具有比其它虚拟机更高的工作负载,因此,具有更高性能要求的虚拟机应该比其它一般虚拟机拥有获取额外附加内存更高的优先级。现在Hyper-V已经拥有了像动态分配CPU资源一样动态分配内存的能力,因此设定不同虚拟机动态获取附加内存不同优先级顺序也已经成为可能。

仅在管理员将所有可用的物理内存分配给主机上的虚拟机时,内存优先级功能才能发挥功效。这是因为主机的物理内存请求始终会高于虚拟机。

1

如上图所示,管理员可以通过滑块设置指定虚拟机获取附加内存的优先级。此设置值的优先级范围从低到高是1至10000,而默认值为5000。


动态内存缓冲区

2

内存缓冲的设置值需要根据虚拟机的工作量来制定,在生产环境中管理员应尽量保留作为缓冲区的虚拟机内存百分比。微软制定的缓冲区百分比范围为5%至95%,默认值为20%。例如,管理员为某虚拟机设置内存大小为1200MB,缓冲区百分比为20%,则Hyper-V会附加额外的20%/(100%-20%) x 1200 MB = 300 MB内存,即总共1500MB内存给虚拟机。如果此例中的缓冲区百分比设置为80%,则Hyper-V会附加额外的80%/(100%-80%) x 1200 MB = 4800 MB内存,即总共6000MB内存给虚拟机。

监控动态内存使用

当管理员为Windows Server 2008 R2打上SP1之后,Hyper-V管理工具里面会多出如下2列:

3

  • Current Memory – 当前虚拟机正在使用的内存大小
  • Memory Available – 此值显示当前分配给虚拟机附加内存缓冲区的百分比。此值通常会小于或等于管理员为虚拟机内存缓冲区设置的百分比。当此值为负值时,表明虚拟机当前所使用的内存小于管理员为虚拟机所设置的内存总量

【TechTarget专稿,请勿转载】





声明  :  转载请注明出处: 碎片IT资讯





  1. 本文目前尚无任何评论.