[发明专利]虚拟机内存管理方法和装置、虚拟机管理器有效
申请号: | 201610130620.6 | 申请日: | 2016-03-08 |
公开(公告)号: | CN107168766B | 公开(公告)日: | 2020-02-28 |
发明(设计)人: | 李凡 | 申请(专利权)人: | 深信服科技股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F12/0882 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 518000 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟机 内存 管理 方法 装置 管理器 | ||
本发明涉及一种虚拟机内存管理方法和装置、虚拟机管理器,该方法包括:发送内存气球膨胀指令至虚拟机,内存气球膨胀指令中携带需回收内存量,使虚拟机根据需回收内存量增大内存气球体积;接收内存占据通知,获取内存占据通知中携带的内存气球体积增大时占据的虚拟内存页标识,回收占据的虚拟内存页标识对应的第一物理内存页;发送内存气球收缩指令,使虚拟机将增大后内存气球体积缩小为零,以使被回收的第一物理内存页对应的内存空间形成内存空洞;接收对内存空洞中虚拟内存页的访问请求,根据访问请求为被请求访问虚拟内存页分配第二物理内存页。避免因内存回收影响系统性能,保证内存及时归还,提高了适用性。
技术领域
本发明涉及虚拟化技术领域,特别是涉及一种虚拟机内存管理方法和装置、虚拟机管理器。
背景技术
在虚拟化技术领域中,通常是通过内存超配技术(内存超配,指当前物理主机上运行的若干个虚拟机的配置内存总和大于物理主机的物理内存)来实现虚拟机内存资源的按需分配。这样一来,虚拟机部分内存不能直接访问,而是由Hypervisor(虚拟机管理器,运行于物理主机上的实现虚拟化功能的装置)根据虚拟机对内存的需求,为虚拟机分配和回收物理内存,以实现物理内存的按需分配。
ballooning(内存气球)技术是虚拟化技术领域较流行的一种虚拟机内存超配技术。然而,传统的内存气球技术中,虚拟机操作系统会认为内存气球中的内存空间对应的这部分物理内存是被占用了,就会判定可用内存不足而进行一些特殊操作,比如会开始使用交换分区,进而给系统性能带来负面影响。
此外,由于传统方法中内存的回收和归还都是由Hypervisor来控制的,Hypervisor要动态平衡所有的虚拟机内存的回收与归还,虚拟机数量越多,Hypervisor的控制策略就越复杂,因此无法适用于大规模部署的场景。且这种根据Hypervisor监控虚拟机内存使用情况来进行内存的归还的情况下,由于监控具有滞后性,且内存归还速度有限,很容易造成因虚拟机操作系统突发使用较大内存,而内存归还不及时,而造成系统因内存不足出现卡顿或死机的情况。
发明内容
基于此,有必要针对上述问题,提供一种能够不因内存回收而影响虚拟机操作系统的运行性能,能够及时归还内存、且适用性高的虚拟机内存管理方法和装置、虚拟机管理器。
一种虚拟机内存管理方法,该方法应用于虚拟机管理器中,该方法包括:
发送内存气球膨胀指令至虚拟机,所述内存气球膨胀指令中携带需回收的内存量,使所述虚拟机根据所述需回收的内存量增大所述内存气球的体积以占据虚拟内存页;
接收虚拟机发送的内存占据通知,获取内存占据通知中携带的内存气球体积增大时所占据的虚拟内存页标识,回收占据的虚拟内存页标识对应的第一物理内存页;
发送内存气球收缩指令至虚拟机,使虚拟机将增大后的内存气球的体积缩小为零,以使虚拟机中被回收的第一物理内存页对应的内存空间形成内存空洞;
接收虚拟机发送的对内存空洞中的虚拟内存页的访问请求,根据所述访问请求为被请求访问的虚拟内存页分配第二物理内存页。
在其中一个实施例中,回收占据的虚拟内存页标识对应的第一物理内存页的步骤,包括:
将占据的虚拟内存页标识通过位图进行对应标记;
接收虚拟机发送的内存占据停止通知,将标记的虚拟内存页标识对应的地址连续的第一物理内存页进行一次性回收。
一种虚拟机内存管理方法,该方法应用于虚拟机中,该方法包括:
接收虚拟机管理器发送的内存气球膨胀指令,内存气球膨胀指令中携带需回收的内存量,根据需回收的内存量增大内存气球的体积;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深信服科技股份有限公司,未经深信服科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610130620.6/2.html,转载请声明来源钻瓜专利网。