[发明专利]内存分配方法和装置、电子设备和存储介质有效
申请号: | 202110573492.3 | 申请日: | 2021-05-25 |
公开(公告)号: | CN113032156B | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 邱海港 | 申请(专利权)人: | 北京金山云网络技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京华夏泰和知识产权代理有限公司 11662 | 代理人: | 刘晓燕 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 分配 方法 装置 电子设备 存储 介质 | ||
1.一种内存分配方法,其特征在于,包括:
接收到第一线程发送的内存申请消息,其中,所述第一线程为与目标应用对应的线程,所述内存申请消息用于申请目标内存大小的内存空间;
响应所述内存申请消息,从多个内存块中确定出与所述第一线程的目标线程标识对应的目标内存块,其中,所述多个内存块是为所述目标应用分配的内存块,所述多个内存块之间是两两相邻且没有重叠,每个所述内存块是一个独立的内存池,所述多个内存块允许并行加锁申请内存,所述线程标识用于确定将线程分配到对应的所述内存块的内存空间,每个所述内存块为具有特定的所述线程标识的线程分配内存空间;
在从所述目标内存块的空闲内存空间中查找到内存大小大于或者等于所述目标内存大小的第一内存空间的情况下,将所述第一内存空间分配给所述第一线程,其中,将所述第一内存空间分配给所述第一线程包括:通过调用伙伴系统的内存分配接口,将所述目标内存块中的所述第一内存空间分配给所述第一线程,其中,传入所述伙伴系统的内存分配参数包括:所述目标内存块的内存范围,所述目标内存大小。
2.根据权利要求1所述的方法,其特征在于,从所述多个内存块中确定出与所述第一线程的所述目标线程标识对应的所述目标内存块包括:
将所述目标线程标识对目标值进行哈希取余,得到目标哈希值,其中,所述目标值为所述多个内存块中包含的内存块的总数量;
将所述多个内存块中与所述目标哈希值对应的内存块,确定为所述目标内存块。
3.根据权利要求2所述的方法,其特征在于,将所述目标线程标识对所述目标值进行哈希取余,得到所述目标哈希值包括:
将所述第一线程的目标线程地址对所述目标值进行哈希取余,得到所述目标哈希值,其中,所述目标线程标识为所述目标线程地址。
4.根据权利要求3所述的方法,其特征在于,在将所述第一线程的所述目标线程地址对所述目标值进行哈希取余之前,所述方法还包括:
在所述目标线程地址的最低位为零的情况下,将所述目标线程地址向右平移至少一位,直到所述目标线程地址的最低位不为零,得到更新后的所述目标线程地址。
5.根据权利要求1所述的方法,其特征在于,在接收到所述第一线程发送的所述内存申请消息之前,所述方法还包括:
在目标设备的操作系统启动的情况下,向所述目标设备的操作系统申请第二内存空间,其中,所述目标设备为运行所述目标应用的设备;
将所述第二内存空间划分成目标数量的内存块,得到所述多个内存块。
6.根据权利要求1所述的方法,其特征在于,在将所述第一内存空间分配给所述第一线程之后,所述方法还包括:
接收到第二线程发送的内存释放消息,其中,所述内存释放消息用于释放所述第一内存空间;
根据所述第一内存空间的内存地址,确定所述第一内存空间属于所述多个内存块中的所述目标内存块;
通过调用伙伴系统的内存释放接口,将所述第一内存空间释放回所述目标内存块,其中,传入所述伙伴系统的内存释放参数包括:所述目标内存块的内存范围,所述第一内存空间的内存地址。
7.根据权利要求1至6中任一项所述的方法,其特征在于,在从所述多个内存块中确定出与所述第一线程的所述目标线程标识对应的所述目标内存块之后,所述方法还包括:
在从所述目标内存块的空闲内存空间中未查找到内存大小大于或者等于所述目标内存大小的内存空间的情况下,向目标设备的操作系统申请所述目标内存大小的动态内存,得到所述目标设备的操作系统为所述第一线程分配的第三内存空间,其中,所述目标设备为运行所述目标应用的设备,所述第三内存空间的空间大小大于或者等于所述目标空间大小;
生成目标日志信息,其中,所述目标日志信息用于对所述目标内存块中剩余的内存空间不足进行告警。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山云网络技术有限公司,未经北京金山云网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110573492.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种燃料电池系统的吹扫控制方法和装置
- 下一篇:一种燃料电池系统的控制方法