论文部分内容阅读
内存资源是虚拟化技术管理的重要资源之一,对虚拟化系统的性能影响很大。目前,虚拟机在启动之前都会配置一个内存上限,该内存上限在虚拟机运行过程中不可更改。然而,虚拟机上运行的应用是多种多样的并且动态变化的,内存需求很难预知。因此目前静态的虚拟机内存管理方式导致有的虚拟机内存不能满足应用需求,而有的虚拟机内存富余。对此,需要一种虚拟机的动态内存管理技术来保证有限内存的高效使用。基于内存热插拔的虚拟机动态内存管理系统(DMM)可以有效地解决了上述问题。该系统基于Xen的半虚拟化模型,实现了虚拟机内存热插拔,动态内存分配,动态创建虚拟机三个主要功能。虚拟机内存热插拔利用Linux内存热插拔机制,实现虚拟机上的内存热插拔,可以突破虚拟机初始的内存上限,任意增加或减小内存。动态内存分配可以实时监控虚拟机的内存信息,预测虚拟机的内存需求,周期性地重新分配虚拟机内存,平衡虚拟机的内存压力。动态创建虚拟机可以在物理机内存不足时,通过合理减小现有虚拟机的内存来创建新虚拟机,实现内存过量使用。系统测试与结果分析表明:与气球驱动相比,虚拟机内存热插拔不存在内存上限,扩展性更好,并且没有更多的性能开销;动态内存分配能够显著提高运行内存密集型应用的虚拟机性能;动态创建虚拟机可以在一台物理机上创建更多的虚拟机,提高物理机的内存利用率。