XenServer中动态内存配置

以前一直以为XenServer的动态内存只是用来保证上线不超过可用内存总量,但是一直搞不清楚,如果这样的话,就不能超量分配了,要DMC还有何用?发现可能理解错误了。XenServer开启DMC的情况下,内存也能够超量使用。

可以看到,XenServer总共只有6GB内存,开启的6个虚机(License Server不谈),我们可以看到每个虚机大概的可用内存。其中vm:2003-1~2003-4的可用内存为1113左右,超过了1024MB,而2003-5为404,超过了384MB,2003-6虚机的可用内存为559,超过了512MB内存。

我们可以看到,总的可用内存为6143MB,当前可用内存为348MB,已经分配的内存为17688MB,超量分配288%。

结合两张图,我们可以知道,在XenServer中,只要能够保证虚机的动态内存下限值,那么XenServer会允许虚机启动,如果启动虚机后,无法满足启动虚机的动态内存下限值,那么将不会允许新的虚机启动。从此我们能够看到,XenServer也能够轻松的超量分配内存。而一般情况下,XenServer允许的动态内存上线限制为,上限不超过下限的4倍,所以,理想状况下,XenServer最大可超量使用内存为4倍可用内存。

关于内存超量分配以及VM虚机内存限制的设置,我们需要有一定的计划,超量分配能够让我们开更多的虚机,但是超量分配也可能会带来性能的问题,所以,针对DMC,我们需要有一定的计划和考虑:

  • 首先,VM内存限制的static-min的设置不能太小,不建议小于XenServer模板的推荐值,否则即使没有问题,因为下限不会影响VM是否可用,但是过小的静态内存下限,对VM的性能和启动有较大的影响。
  • 有计划的超量分配内存,根据VM的业务类型计算,防止在DMC的情况下,使用虚机内存,该设置将极大影响VM的性能
总的来说,DMC对实验环境,硬盘性能够好的情况下,VM压力不大时候,内存消耗不多的情况,超量分配可用尽可能的启动虚机,满足实验要求,解决了内存不足的问题。
BTW: