Hyper-V 内存管理必须知道的
上一篇 /
下一篇 2012-08-27 10:39:16
/ 个人分类:杂谈
m G|@ Z0 WindowsServer 2008 R2 SP1之前的Hyper-V版本中,管理员只能固定指定虚拟机所使用的物理内存大小,当虚拟机启动时,自动将管理员分配的内存完全占用。可能会出现以下2个问题:
!^.g
HB)z q)f%M0j1M%f0Wu0 1、当管理员分配给虚拟机的内存大小无法满足应用的需求时,管理员需要在关闭虚拟机的情况下(Hyper-V不支持内存热插拔),对其内存占用大小重新进行调整。51Testing软件测试网1O,ZhQ2anfx
51Testing软件测试网a%V*Wgo)b^ 2、当管理员给虚拟机分配过多的内存时,虚拟机应用在不需要使用这么多内存的情况下,将造成资源的浪费。51Testing软件测试网 B E]0Q{
51Testing软件测试网8ouXtG?6P3m? Windows Server 2008 R2 SP1 Hyper-V提供的内存动态管理功能,将解决遇到的内存应用瓶颈。51Testing软件测试网TJxFwo
7pY3O&u)J#y$B0 内存过量使用
:r O7d:Sc051Testing软件测试网4d1B-zb0D 内存过量使用,允许虚拟机使用比物理主机可用的更多的内存。例如,宿主机有2GB内存,就可以在其上运行四台拥有1GB内存的虚拟机。内存能过量使用因为有比宿主机更多的虚拟内存。因此,管理员能够最大化物理计算机中运行的虚拟机数量,而不用理会物理内存的限制。51Testing软件测试网:[jr!d$?;A
/O)h&tg
\ G:o;wh0
如果没有内存过量使用功能,分配给虚拟机内存的数量最多只能是和宿主机相同数量的内存。但实际上,虚拟机通常消耗的内存比其需要的少,这会浪费物理内存
空间,并限制了在服务器上能运行的虚拟机数量。例如,一台8GB
内存的Hyper-V服务器,可能在服务器上部署三台虚拟机,每个分配2GB,并预留2GB给主机操作系统,虽然这台服务器有足够的CPU和磁盘资源来宿主更多虚拟机,但内存成为限制因素。Hyper-V Dynamic Memory里含有一个选项(内存缓冲区)能解决这个问题。51Testing软件测试网Q\s)l/c
h
'lM)XG4odzJ0
Hyper-V不允许内存过量使用,例如如果分配4GB内存给Hyper-V的一台虚拟机,虚拟机实际只使用2GB。启动虚拟机后,Hyper-V检查
是否有4GB的物理内存可用。如果这样的话,内存就被“锁定”,因此只能用于该虚拟机。如果4GB不可用,虚拟机就不能启动,即使虚拟服务器需要的2GB
内存可用也不行。51Testing软件测试网AxZ*j:VX
cV
51Testing软件测试网
^1]I#|
zH3? U!_4J Hyper-V提供“内存缓冲区”、“内存权重”以及“内存优先级”。Hyper-V允许根据内存使用率优化虚拟机。
当出现争用内存的情况,高优先权虚拟机首先获得内存。因为内存竞争会迫使虚拟机用光内存,如果虚拟机需要但又没有可用的内存。“Hyper-V管理器”显
示每台虚拟机可用的内存,帮助管理员在Hyper-V上更好地管理内存分配。51Testing软件测试网2?/e`Tl7ll4S
[u~|*SG3|,v0 启动内存51Testing软件测试网kVGWE}:J#f$^
51Testing软件测试网+I6~+rE
Kr2k&E$g 启动内存,是指操作系统启动所需要的最小内存容量加上开启应用程序所需要的内存容量。启动内存值和处于“静态”模式下的内存设置相同。
ZGp}
P|4Y`Q051Testing软件测试网C8pM#XL-g
U
例如Microsoft Exchange Server 2010至少需要4
GB的系统内存,即使用8GB来运行一个虚拟系统,而操作系统和应用程序需要的最低内存是4GB,那么启动内存设置就是4GB,因此应该把启动内存设置与
操作系统和应用程序启动所需要的最低内存容量保持一致。51Testing软件测试网l%RhP6W7c7t
c
51Testing软件测试网%}V i9]9I0g+OgK%T N 最大内存51Testing软件测试网c+~dBWV,m|
S-Bd6bp0}x0 最大内存,是Hyper-V可以为虚拟机提供的最大内存容量,默认设置为64GB 。Hyper-V会根据实际需要的容量自动分配。51Testing软件测试网)zw3f(pzR{)?
51Testing软件测试网$VX V$J(_0Im!F 例如,应用程序会要占用全部内存。在这些情况下,把最大内存设置应该分配给应用程序和操作系统最大内存容量。另外,如果最大内存值不是64GB,内存动态管理功能不能启用。
ik*zov(I
y
x%cn0
收藏
举报
TAG: