[发明专利]一种内存动态管理方法、装置、设备及存储介质在审
申请号: | 202210417021.8 | 申请日: | 2022-04-20 |
公开(公告)号: | CN114706686A | 公开(公告)日: | 2022-07-05 |
发明(设计)人: | 庄少华;陈文明;江常杯;庄白云 | 申请(专利权)人: | 深圳市华宝电子科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 潘登 |
地址: | 518000 广东省深圳市南山区桃源街道福光社区留*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 动态 管理 方法 装置 设备 存储 介质 | ||
本发明公开了一种内存动态管理方法、装置、设备及存储介质。一种内存动态管理方法,包括:根据预设任务的数量创建对应数量的内存区域,按预设内存值为每个内存区域分配内存;间隔预设时间,循环获取每个内存区域的已使用内存值;判断已使用内存值是否在预设有效范围内;根据内存区域的已使用内存值和有效系数对内存区域的内存进行动态管理。解决任务较多时,共享内存时效率较低,容易产生死锁的问题,实现提高内存利用效率,在多任务时,动态管理内存,使得内存使用率最优,避免产生死锁的效果。
技术领域
本发明实施例涉及数据处理技术,尤其涉及一种内存动态管理方法、装置、设备及存储介质。
背景技术
在计算机系统中,内存是最重要的资源之一。其容量直接影响系统的整体性能。假设有多个业务需要同时进行时,其中一个业务负责生产数据,其余业务消费数据,由于消费数据有多个,所以就需要开辟缓冲,这个缓冲也称为共享内存。
在多线程编程下传统数据共享方式是在一块内存上,通多加锁方式,让多个业务对这块内存进行读写数据。每个线程的读位置都不同,写位置要满足在读的前面,缓冲写满时需要记录圈数,与读的圈数比较。但是在业务增多后,共享一块内存的方式,效率不高,容易产生死锁,内存的使用效率也不能达到最优。
发明内容
本发明提供一种内存动态管理方法、装置、设备及存储介质,以实现动态监测各个任务的内存使用情况,对内存进行动态管理,使内存的使用效率达到最优。
第一方面,本发明实施例提供了一种内存动态管理方法,包括:
根据预设任务的数量创建对应数量的内存区域,按预设内存值为每个所述内存区域分配内存;
间隔预设时间,循环获取每个所述内存区域的已使用内存值;
判断所述已使用内存值是否在预设有效范围内,若否,则根据所述内存区域的已使用内存值和有效系数对内存区域的内存进行动态管理。
可选的,在所述获取每个所述内存区域的已使用内存值之前,还包括:
创建监测线程监控每个所述内存区域的已使用内存值。
可选的,所述预设有效范围由所述预设内存值与有效阈值确定,所述预设有效范围的最小值为所述预设内存值与有效范围最小值的乘积,所述预设有效范围的最大值为所述预设内存值与有效范围最大值的乘积。
可选的,所述根据所述内存区域的已使用内存值和有效系数对内存区域的内存进行动态管理包括:
根据所述内存区域的已使用内存值与所述有效范围最小值计算得到新分配内存值;
根据所述新分配内存值对相应内存区域的内存进行重新分配。
可选的,所述根据所述内存区域的已使用内存值和有效系数对内存区域的内存值进行动态管理,还包括:
按照预设任务的优先级顺序,对所述内存区域的内存进行重新分配。
可选的,一种内存动态管理方法还包括:
将已执行完毕的所述预设任务对应的内存空间回收。
第二方面,本发明实施例还提供了一种内存动态管理装置,包括:
内存初始分配模块,用于根据预设任务的数量创建对应数量的内存区域,按预设内存值为每个所述内存区域分配内存;
内存动态监测模块,用于间隔预设时间,循环获取每个所述内存区域的已使用内存值;
内存使用判断模块,用于判断所述已使用内存值是否在预设有效范围内;
动态管理模块,用于根据所述内存区域的已使用内存值和有效系数对内存区域的内存值进行动态管理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市华宝电子科技有限公司,未经深圳市华宝电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210417021.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种视频消息通知的显示方法及装置
- 下一篇:一种反转式加热自熟米线机