[发明专利]内存管理方法、装置、设备、计算机程序及存储介质在审
申请号: | 202111499167.3 | 申请日: | 2021-12-09 |
公开(公告)号: | CN114153615A | 公开(公告)日: | 2022-03-08 |
发明(设计)人: | 孙凌峰;万园 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 赵翠萍;张颖玲 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 管理 方法 装置 设备 计算机 程序 存储 介质 | ||
1.一种内存管理方法,其特征在于,包括:
根据当前帧的帧计算任务发起的内存请求,从预设的M个帧内存分配器中,确定所述当前帧对应的当前帧内存分配器;所述M个帧内存分配器为以帧为单位循环使用的内存分配器;M为大于或等于2的正整数;
通过所述当前帧内存分配器,从预设内存池的M个内存块列表中,获取所述当前帧对应的目标内存块;所述M个内存块列表与所述M个帧内存分配器一一对应;所述M个内存块列表之间的地址空间不重合;
从所述目标内存块中获取内存资源,分配至所述帧计算任务。
2.根据权利要求1所述的方法,其特征在于,所述M个帧内存分配器中的每个帧内存分配器包括:与至少一种帧状态对应的至少一种子内存分配器;所述通过所述当前帧内存分配器,从预设内存池的M个内存块列表中,获取所述当前帧对应的目标内存块,包括:
根据所述当前帧的当前帧状态,从所述当前帧内存分配器对应的至少一种子内存分配器中确定出目标子内存分配器;所述当前帧状态属于所述至少一种帧状态;所述当前帧状态表征所述帧计算任务的业务类型;
通过所述目标子内存分配器,从所述预设内存池中获取所述目标内存块。
3.根据权利要求2所述的方法,其特征在于,所述至少一种子内存分配器中的每种子内存分配器包含线程数量的子分配器;所述线程数量为所述帧计算任务包含线程的数量;每个子分配器与所述帧计算任务的每个线程一一对应;所述从所述目标内存块中获取内存资源,分配至所述帧计算任务,包括:
通过所述目标子内存分配器中的每个子分配器,从所述目标内存块中同步获取所述帧计算任务中每个线程对应的内存资源,并对应分配至所述每个线程,完成对所述帧计算任务的内存分配。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述通过所述当前帧内存分配器,从预设内存池的M个内存块列表中,获取所述当前帧对应的目标内存块之前,所述方法还包括:
通过所述当前帧内存分配器,确定所述当前帧的当前帧状态与所述内存请求所申请的内存生命周期是否匹配;
在所述帧状态与所述内存生命周期不匹配的情况下,不执行内存分配,进行错误提示。
5.根据权利要求4所述的方法,其特征在于,所述M个内存块列表的地址空间为虚拟地址空间;所述获取所述当前帧对应的目标内存块,包括:
根据所述内存请求所申请的内存资源量,确定所述当前帧对应的内存块列表中的空闲内存块是否满足所述内存资源量;
在不满足的情况下,通过所述预设内存池向电子设备的操作系统申请虚拟内存,根据申请的虚拟内存,在所述当前帧对应的内存块列表中添加空闲内存块;
在满足的情况下,将所述空闲内存块作为所述目标内存块;
所述从所述目标内存块中获取内存资源,分配至所述帧计算任务,包括:
将所述目标内存块中的虚拟地址提交至所述操作系统,以使所述操作系统根据所述虚拟地址,分配物理地址的内存资源至所述帧计算任务。
6.根据权利要求5所述的方法,其特征在于,所述从所述目标内存块中获取内存资源,分配至所述帧计算任务之后,所述方法还包括:
在接收到当前帧状态结束指令的情况下,通过所述当前帧内存分配器更新所述当前帧状态,并通知所述目标子内存分配器进行内存分配信息重置;
通过所述目标子内存分配器,对所述当前帧对应的内存块列表进行内存分配信息的重置,并对所述帧计算任务对应的已分配虚拟地址进行地址失效处理;
在所述当前帧状态表征完成完整一帧计算的情况下,将地址失效处理后的虚拟地址归还至所述预设内存池。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111499167.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种对寄生不敏感的相位插值器
- 下一篇:车辆控制方法及装置