[发明专利]内存释放方法、释放装置、计算机装置以及可读存储介质有效
| 申请号: | 201710700782.3 | 申请日: | 2017-08-15 |
| 公开(公告)号: | CN108205472B | 公开(公告)日: | 2021-11-05 |
| 发明(设计)人: | 钟斌;陈乾 | 申请(专利权)人: | 珠海市魅族科技有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50 |
| 代理公司: | 北京开阳星知识产权代理有限公司 11710 | 代理人: | 安伟 |
| 地址: | 519000 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 内存 释放 方法 装置 计算机 以及 可读 存储 介质 | ||
本申请实施例公开了一种内存释放方法、释放装置、计算机装置以及可读存储介质,用于释放待回收进程的占用内存,且在释放待回收进程的占用内存时,减少其他进程的等待执行的时长。本申请实施例方法包括:获取目标进程的占用内存,该目标进程为待进行内存释放的进程;将该占用内存切分为至少两个部分内存;释放该至少两个部分内存中的每个部分内存,在释放该每个部分内存时,为该每个部分内存分别启用自旋锁,并在每释放完一个部分内存后解除释放完部分内存的自旋锁。
技术领域
本申请涉及计算机领域,特别涉及一种内存释放方法、释放装置、计算机装置以及可读存储介质。
背景技术
在实际应用中,使用终端时,随着运行的进程越来越多,占用的系统内存资源也越来越多,系统处理进程的速度也受到影响,因此,在使用进程后,需要进行内存回收。
在进行一个待回收进程的占用内存回收时,先扫描出待回收进程的占用内存的所有内存页面,然后释放该所有内存页面,当释放待回收进程的占用的所有内存页面时,将启用自旋锁锁定,此时,其他进程不能进行任何与内存相关的操作,只能等待所有内存页面都释放完成后,才能继续执行当前的待执行进程,该待执行进程才能继续对内存进行操作。
然而,待回收进程的占用内存越大,需要回收的内存资源也越大,回收内存资源的时间也越长,自旋锁锁定的时间越长,其他待执行进程在自旋锁锁定的时间内不能执行与内存相关的操作,只能等待待回收进程占用的内存页面全部回收之后才能继续执行,等待的时长也越长。
发明内容
本申请实施例提供了一种内存释放方法、释放装置、计算机装置以及可读存储介质,用于释放待回收进程的占用内存,且在释放待回收进程的占用内存时,减少其他进程的等待执行的时长。
有鉴于此,本申请第一方面提供一种内存释放的方法,其特征在于,包括:
获取目标进程的占用内存,该目标进程为待进行内存释放的进程;
将该占用内存切分为至少两个部分内存;
释放该至少两个部分内存中的每个部分内存,在释放该每个部分内存时,为该每个部分内存分别启用自旋锁,并在每释放完一个部分内存后解除释放完部分内存的自旋锁。
可选地,该释放该至少两个部分内存中的每个部分内存之前,该方法还包括:
判断当前是否有等待执行的进程;
若是,则执行第一待执行进程,该第一待执行进程为当前等待执行的进程。
可选地,该释放该至少两个部分内存中的每个部分内存之前,该方法还包括:
判断当前是否有等待执行的进程;
若是,则获取第一优先级以及第二待执行进程的第二优先级,该第二待执行进程为当前等待执行的进程,该第一优先级为释放目标内存的进程的优先级,该目标内存为该至少两个部分内存中当前待释放的一个部分内存;
判断该第二优先级是否高于该第一优先级;
若是,则执行该第二待执行进程;
若否,则释放该目标内存。
可选地,当等待执行的进程有至少两个时,该获取该目标进程的第一优先级以及第二待执行进程的第二优先级之前,该方法还包括:
获取该至少两个等待执行的进程的优先级;
从该至少两个等待执行的进程中确定优先级最高的进程作为该第二执行进程。
可选地,若当前等待执行的进程有至少两个时,获取第一优先级以及该至少两个等待执行的进程的优先级,该第一优先级为释放目标内存的进程的优先级,该目标内存为该至少两个部分内存中当前待释放的一个部分内存;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海市魅族科技有限公司,未经珠海市魅族科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710700782.3/2.html,转载请声明来源钻瓜专利网。





