内存回收方法及装置、计算机装置及计算机可读存储介质制造方法及图纸

技术编号:18350015 阅读:32 留言:0更新日期:2018-07-01 22:57
本发明专利技术提供一种内存回收方法及内存回收装置,所述内存回收方法包括:接收内存回收请求,并查询访问磁盘的队列管道的当前状态;判断所述队列管道的当前状态是否满足预设条件;若所述队列管道的当前状态满足预设条件,则将所述内存回收请求加到所述队列管道中进行排队,以响应所述内存回收请求并将其对应的待回收的进程的内存数据写入到磁盘中进行保存。本发明专利技术提供的内存回收方法在进行内存回收之前,根据访问磁盘的队列管道的当前状态决定是否响应内存回收请求,从而能够有效避免在内存回收时出现的磁盘访问的压力过大、系统卡顿等问题,并能够有效提升用户的使用体验。

【技术实现步骤摘要】
内存回收方法及装置、计算机装置及计算机可读存储介质
本专利技术涉及内存管理
,尤其涉及一种内存回收方法及装置、计算机装置及计算机可读存储介质。
技术介绍
本部分旨在为权利要求书及具体实施方式中陈述的本专利技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。在各种操作系统中,用户在打开某个应用程序后,该应用程序会占用系统内存,即使该应用程序被切换到后台运行,仍会占用一定的系统内存。若用户打开的应用程序过多,则占用的系统内存也越多,而系统内存占用越多,应用程序运行速度越慢,甚至造成死机现象。解决上述问题的一个方法是增加系统内存,但这将带来硬件成本的提高,因此,内存管理技术应运而生。内存管理技术是指应用程序运行时,对系统内存资源的分配和使用的技术,其主要的目的是如何高效、快速的分配内存资源,并且在适当的时候释放和回收内存资源。当在应用程序中打开了一个文件,且回收的文件页面是被修改过的文件页面或匿名页面时,目前的内存回收方案中是通过将该页面的内存数据写入到磁盘保存,然后释放这部分内存给其它应用程序使用,当再次执行该应用程序时,重新把该应用程序的数据从磁盘中加载到内存中重新运行。由于磁盘的读写速度要比内存的读写速度慢许多,系统把内存中的数据写到磁盘或者从磁盘加载数据到内存中都是比较耗时的操作,当多个应用程序对磁盘进行操作时,就会出现竞争卡死的问题,所以系统在设计之初,设计了一个队列管道,该队列管道把所有应用程序对磁盘操作的请求按照先后顺序进行访问。例如图1所示,当程序A和程序B都要访问磁盘时,系统会根据这两个程序的优先级,先后地进行访问。如果在同一时刻系统出现多个进程访问磁盘的时候,该队列管道内就会在短时间内塞满大量的请求,此时在请求中的进程只能等待磁盘的访问,这过程中不会影响任务的外部请求,这样就会导致系统出现卡顿,而在内存回收时,则会加重这种现象,从而降低了用户体验。
技术实现思路
鉴于此,有必要提供一种内存回收方法及装置、计算机装置及计算机可读存储介质,以解决内存回收时出现的系统卡顿的问题,并能够提升用户的使用体验。本专利技术实施例一方面提供一种内存回收方法。所述内存回收方法包括:接收内存回收请求,并查询访问磁盘的队列管道的当前状态;判断所述队列管道的当前状态是否满足预设条件;若所述队列管道的当前状态满足预设条件,则将所述内存回收请求加到所述队列管道中进行排队,以响应所述内存回收请求并将其对应的待回收的进程的内存数据写入到磁盘中进行保存。进一步的,本专利技术实施例提供的上述内存回收方法中,所述内存回收方法还包括:若所述队列管道的当前状态不满足预设条件,则中止所述内存回收请求,并放弃回收所述内存回收请求对应的待回收的进程的内存数据。进一步的,本专利技术实施例提供的上述内存回收方法中,所述判断所述队列管道的当前状态是否满足预设条件包括:查询当前所述队列管道中的内存回收请求对应的进程中具有最高优先级的进程;判断所述具有最高优先级的进程是否为桌面进程;若所述具有最高优先级的进程为桌面进程,则判断所述队列管道的当前状态不满足预设条件。进一步的,本专利技术实施例提供的上述内存回收方法中,所述判断所述队列管道的当前状态是否满足预设条件还包括:若所述具有最高优先级的进程不为桌面进程,则查询当前所述队列管道中的磁盘访问请求的数量;判断所述磁盘访问请求的数量是否大于预设数量阈值;若所述磁盘访问请求的数量大于预设数量阈值,则判断所述队列管道的当前状态不满足预设条件;若所述磁盘访问请求的数量不大于预设数量阈值,则判断所述队列管道的当前状态满足预设条件。本专利技术实施例另一方面还提供一种内存回收装置,所述内存回收装置包括:查询模块,用于接收内存回收请求,并查询访问磁盘的队列管道的当前状态;判断模块,用于判断所述队列管道的当前状态是否满足预设条件;内存回收模块,用于在所述队列管道的当前状态满足预设条件时,将所述内存回收请求加到所述队列管道中进行排队,以响应所述内存回收请求并将其对应的待回收的进程的内存数据写入到磁盘中进行保存。进一步的,在本专利技术实施例提供的上述内存回收装置中,所述内存回收模块还用于在所述队列管道的当前状态不满足预设条件时,中止所述内存回收请求,并放弃回收所述内存回收请求对应的待回收的进程的内存数据。进一步的,在本专利技术实施例提供的上述内存回收装置中,所述查询模块具体用于查询当前所述队列管道中的内存回收请求对应的进程中具有最高优先级的进程;所述判断模块具体用于判断所述具有最高优先级的进程是否为桌面进程,以及用于在所述具有最高优先级的进程为桌面进程时,判断所述队列管道的当前状态不满足预设条件。进一步的,在本专利技术实施例提供的上述内存回收装置中,所述查询模块具体还用于在所述具有最高优先级的进程不为桌面进程时,查询当前所述队列管道中的磁盘访问请求的数量;所述判断模块具体还用于判断所述磁盘访问请求的数量是否大于预设数量阈值;所述判断模块具体还用于在所述磁盘访问请求的数量大于预设数量阈值时,判断所述队列管道的当前状态不满足预设条件;以及用于在所述磁盘访问请求的数量不大于预设数量阈值时,判断所述队列管道的当前状态满足预设条件。本专利技术实施例再一方面还提供一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现上述任一所述内存回收方法的步骤。本专利技术实施例又一方面还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述内存回收方法的步骤。本专利技术提供的内存回收方法在进行内存回收(即将内存数据写入到磁盘中进行保存)之前,根据访问磁盘的队列管道的当前状态决定是否响应内存回收请求,从而能够有效避免在内存回收时出现的磁盘访问的压力过大、系统卡顿等问题,并能够有效提升用户的使用体验。附图说明为了更清楚地说明本专利技术实施方式的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是现有技术中进行内存回收的队列管道的示意图。图2是本专利技术一实施方式提供的内存回收方法的流程图。图3是图2所示的内存回收方法的步骤102的细化的流程图。图4是本专利技术一实施方式提供的内存回收装置的结构示意图。图5是本专利技术一实施方式提供的终端的结构示意图。主要元件符号说明终端1内存回收装置10查询模块11判断模块12内存回收模块13处理器20存储器30计算机程序40如下具体实施方式将结合上述附图进一步说明本专利技术。具体实施方式为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和具体实施方式对本专利技术进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施方式及实施方式中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,所描述的实施方式仅仅是本专利技术一部分实施方式,而不是全部的实施方式。基于本专利技术中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本专利技术保护的范围。除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中在本专利技术的说明本文档来自技高网
...
内存回收方法及装置、计算机装置及计算机可读存储介质

【技术保护点】
1.一种内存回收方法,其特征在于,所述内存回收方法包括:接收内存回收请求,并查询访问磁盘的队列管道的当前状态;判断所述队列管道的当前状态是否满足预设条件;若所述队列管道的当前状态满足预设条件,则将所述内存回收请求加到所述队列管道中进行排队,以响应所述内存回收请求并将其对应的待回收的进程的内存数据写入到磁盘中进行保存。

【技术特征摘要】
1.一种内存回收方法,其特征在于,所述内存回收方法包括:接收内存回收请求,并查询访问磁盘的队列管道的当前状态;判断所述队列管道的当前状态是否满足预设条件;若所述队列管道的当前状态满足预设条件,则将所述内存回收请求加到所述队列管道中进行排队,以响应所述内存回收请求并将其对应的待回收的进程的内存数据写入到磁盘中进行保存。2.如权利要求1所述的内存回收方法,其特征在于,所述内存回收方法还包括:若所述队列管道的当前状态不满足预设条件,则中止所述内存回收请求,并放弃回收所述内存回收请求对应的待回收的进程的内存数据。3.如权利要求1或2所述的内存回收方法,其特征在于,所述判断所述队列管道的当前状态是否满足预设条件包括:查询当前所述队列管道中的内存回收请求对应的进程中具有最高优先级的进程;判断所述具有最高优先级的进程是否为桌面进程;若所述具有最高优先级的进程为桌面进程,则判断所述队列管道的当前状态不满足预设条件。4.如权利要求3所述的内存回收方法,其特征在于,所述判断所述队列管道的当前状态是否满足预设条件还包括:若所述具有最高优先级的进程不为桌面进程,则查询当前所述队列管道中的磁盘访问请求的数量;判断所述磁盘访问请求的数量是否大于预设数量阈值;若所述磁盘访问请求的数量大于预设数量阈值,则判断所述队列管道的当前状态不满足预设条件;若所述磁盘访问请求的数量不大于预设数量阈值,则判断所述队列管道的当前状态满足预设条件。5.一种内存回收装置,其特征在于,所述内存回收装置包括:查询模块,用于接收内存回收请求,并查询访问磁盘的队列管道的当前状态;判断模块,用于判断所述队列管道的当前状态是否满足预设条件;...

【专利技术属性】
技术研发人员:钟斌陈乾
申请(专利权)人:珠海市魅族科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1