【技术实现步骤摘要】
一种内存回收方法、装置及控制设备
[0001]本申请涉及内存分配
,具体而言,涉及一种内存回收方法、装置及控制设备。
技术介绍
[0002]对虚拟机的空闲内存进行回收,提升虚拟机内存弹性,能够有效提高宿主机的资源使用效率,帮助提高宿主机能够部署的虚拟机的密度,降低虚拟机使用成本。但是在虚拟机设备直通大规模普及的今天,设备侧DMA要求虚拟机在运行过程中,内存映射完全不能改变,因此也就无法动态地回收虚拟机的内存。
[0003]解决该问题的一个方法是提供设备侧缺页处理能力,但这种方法依赖特殊的硬件,无法在现有硬件中使用。此外,还有一些半虚拟化方案能够解决此类问题,但是这些方案需要虚拟机中运行专用的半虚拟化驱动程序。
技术实现思路
[0004]本申请解决的问题是现有内存回收方法中DMA的内存映射无法改变导致无法回收虚拟机的内存。
[0005]为解决上述问题,本申请首先提供一种内存回收方法,包括:
[0006]获取虚拟机的内存管理元数据信息和解析该内存管理元数据信息的内存解析函数; >[0007]基于所本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种内存回收方法,其特征在于,包括:获取虚拟机的内存管理元数据信息和解析该内存管理元数据信息的内存解析函数;基于所述内存解析函数和所述内存管理元数据信息,回收所述虚拟机的空闲内存。2.根据权利要求1所述的方法,其特征在于,所述基于所述内存解析函数和所述内存管理元数据信息,回收所述虚拟机的空闲内存之后,所述方法还包括:响应于所述虚拟机对已回收的空闲内存的分配请求,对所述虚拟机分配新的物理内存。3.根据权利要求1所述的方法,其特征在于,所述内存解析函数为所述虚拟机编译后的BPF字节码。4.根据权利要求1所述的方法,其特征在于,所述获取虚拟机的内存管理元数据信息和解析该内存管理元数据信息的内存解析函数,包括:当所述虚拟机启动后对预先编写的所述内存解析函数的eBPF源程序进行编译时,接收所述虚拟机注入的内存管理元数据信息和编译后的所述内存解析函数的BPF字节码。5.根据权利要求2所述的方法,其特征在于,所述基于所述内存解析函数和所述内存管理元数据信息,回收所述虚拟机的空闲内存中,通过所述内存解析函数和所述内存管理元数据信息扫描出所述虚拟机的空闲内存后,回收所述虚拟机的空闲内存。6.根据权利要求5所述的方法,其特征在于,所述内存管理元数据信息,包括struct page物理页信息和对应的struct page结构体信息;所述通过所述内存解析函数和所述内存管理元数据信息扫描出所述虚拟机的空闲内存后,回收所述虚拟机的空闲内存,包括:扫描所述虚拟机的struct page物理页信息,调用所述内存解析函数解析与对应的struct page结构体信息,确定空闲的struct page...
【专利技术属性】
技术研发人员:王耀辉,罗犇,
申请(专利权)人:阿里巴巴中国有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。