[发明专利]一种基于状态感知的虚拟机内存动态调节方法有效
申请号: | 201910690018.1 | 申请日: | 2019-07-29 |
公开(公告)号: | CN110399205B | 公开(公告)日: | 2022-09-06 |
发明(设计)人: | 李永坤;李佳伟;许胤龙 | 申请(专利权)人: | 中国科学技术大学 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 安徽省合肥新安专利代理有限责任公司 34101 | 代理人: | 汪祥虬 |
地址: | 230026 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 状态 感知 虚拟机 内存 动态 调节 方法 | ||
本发明公开了一种基于状态感知的虚拟机内存动态调节方法,特征是包含主机虚拟机元数据记录、虚拟机状态评估、回收虚拟机内存和根据虚拟机性能反馈进行内存重分配等步骤。一方面,由于回收内存时,根据状态指标识别虚拟机的内存需求状态,区分虚拟机的内存敏感程度,所以本方法既能使虚拟机之间的性能更均衡,又能保证单个虚拟机性能最优;另一方面,由于能感知虚拟机性能变化,并及时调整内存分配策略,所以本方法适用于虚拟机内存需求多变的场景。本发明的方法与传统方法相比,能感知虚拟机的内存和性能状态,适用于高密度且内存需求多变的虚拟化场景,既能使虚拟机之间的性能更均衡,又能保证单个虚拟机性能最优。
技术领域
本发明属于计算机内存管理技术领域,具体涉及在虚拟化环境下,通过感知虚拟机的状态实现高效的虚拟机内存动态调节方法。
背景技术
2002年,VMware公司在其论文《Memory resource management in VMware ESXserver》中提出了Ballooning内存动态调节技术,并将其应用在VMware的虚拟化产品之中。Ballooning技术可以从虚拟机中回收空闲内存以缓解主机的内存压力,达到内存超量分配的目的,该技术大大提高了服务器的内存利用率。在当今的云计算中,内存超量分配情况下虚拟机内存的动态管理一直是富有挑战性的课题,随着大数据发展和硬件规格的提高,单台物理机上的虚拟机密度不断增大,且数据密集型应用的种类越来越多,传统的Ballooning内存调节技术一方面无法区分多样化的应用类型,导致虚拟机之间性能不均衡,另一方面回收粒度较大,无法适应内存需求多变的场景,导致虚拟机内部应用性能降低。
发明内容
本发明的目的是提出一种基于状态感知的虚拟机内存动态调节方法,以克服现有技术的上述缺陷,从而达到多个虚拟机之间的性能均衡,降低内存调节对虚拟机内部应用性能的影响;同时,通用性好,实现简单,无需修改虚拟机/客户机层的代码,仅在主机层就可实现。
本发明基于状态感知的虚拟机内存动态调节方法,其特征在于包括以下步骤:
第一步:主机和虚拟机的元数据记录
通过操作系统周期性地获取主机的空闲内存量,若空闲内存量大于特定阈值,则该周期结束,否则,记录各虚拟机在特定时间段内的内存带宽B、物理内存占用量S和缺页次数P;
第二步:虚拟机状态评估
对于每个虚拟机VMi,根据第一步得到内存带宽Bi、物理内存占用量Si和缺页次数Pi,计算虚拟机内存状态指标Ri:
上面的公式1中,N是虚拟机的总个数,和分别是虚拟机VMi的内存带宽、物理内存占用量以及缺页次数与所有虚拟机总内存带宽、总物理内存占用量和总缺页次数的比值,fi是放大系数,它是大于等于1的浮点数,在对VMi执行内存回收之前,fi值为1,执行内存回收后更新fi的值,更新规则为“内存回收后缺页次数与回收前缺页次数的比值,若比值小于1,则取1”,内存回收后更新的fi将在下一个周期使用,若下一个周期主机内存充足,则将各虚拟机的fi都置为初始值1;根据公式1计算出的R值代表虚拟机的内存状态,R值越小代表虚拟机中应用的内存需求越小,反之则反;
第三步:回收虚拟机内存
将第二步得到的所有虚拟机的R值从小到大排序,并依次回收对应虚拟机的内存,直到主机空闲内存量大于特定阈值;对某个虚拟机执行内存回收时,采用带反馈的递进式回收方法,先回收其一小部分内存,再监测其性能反馈指标,若反馈指标超标,说明回收导致该虚拟机内部内存不足,则立即停止回收;若反馈指标正常,则增大回收力度继续回收;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学技术大学,未经中国科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910690018.1/2.html,转载请声明来源钻瓜专利网。