内存回收控制方法及相关装置制造方法及图纸

技术编号:35695589 阅读:15 留言:0更新日期:2022-11-23 14:46
本申请提供了一种内存回收控制方法及相关装置,方法包括:配置第一工作线程为需要对内存中待回收的目标页面执行回收操作的原始线程;当检测到目标页面的页面类型为已锁定页面时,确定线程池中能够执行回收操作的候选工作线程;若检测到共享链表存在可用空间,则将目标页面添加到共享链表中,共享链表是指可以被第一工作线程和/或候选工作线程调用的链表;通过候选工作线程中的第二工作线程执行所述回收操作。如此,可以避免因页面锁竞争导致内存回收流程阻塞,提高了内存回收的效率,优化了用户的使用体验。化了用户的使用体验。化了用户的使用体验。

【技术实现步骤摘要】
内存回收控制方法及相关装置


[0001]本申请属于通信
,具体涉及一种内存回收控制方法及相关装置。

技术介绍

[0002]电子设备的流畅性已经是用户消费购买考虑的一个必要的因素,而内存性能在其中的重要性尤为突出,但现在应用的内存需求日益增大,例如大型手游等一个应用可能就占据了2G比特bytes的内存空间,因此内存回收技术至关重要。但目前,电子设备在进行内存回收流程时,仍存在内存回收效率不高的问题,影响用户的使用体验。

技术实现思路

[0003]本申请提供了一种内存回收控制方法及相关装置,以期提高内存回收效率。
[0004]第一方面,本申请实施例提供了一种内存回收控制方法,所述方法包括:
[0005]配置第一工作线程为需要对内存中待回收的目标页面执行回收操作的原始线程;
[0006]当检测到所述目标页面的页面类型为已锁定页面时,确定线程池中能够执行所述回收操作的候选工作线程;
[0007]若检测到共享链表存在可用空间,则将所述目标页面添加到所述共享链表中,所述共享链表是指可以被所述第一工作线程和/或所述候选工作线程调用的链表;
[0008]通过所述候选工作线程中的第二工作线程执行所述回收操作。
[0009]第二方面,本申请实施例提供了一种电子设备,包括处理器、存储器以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行本申请实施例第一方面中的步骤的指令。
[0010]第三方面,本申请实施例提供了一种内存回收控制装置,所述装置包括:
[0011]配置单元,用于配置第一工作线程为需要对内存中待回收的目标页面执行回收操作的原始线程;确定单元,用于当检测到所述目标页面的页面类型为已锁定页面时,确定线程池中能够执行所述回收操作的候选工作线程;添加单元,用于若检测到共享链表存在可用空间,则将所述目标页面添加到所述共享链表中,所述共享链表是指可以被所述第一工作线程和/或所述候选工作线程调用的链表;执行单元,用于通过所述候选工作线程中的第二工作线程执行所述回收操作。
[0012]第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序/指令,所述计算机程序/指令被处理器执行时实现本申请实施例第一方面中的步骤。
[0013]第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。
[0014]可以看出,本申请实施例中,电子设备在目标页面进入第一工作线程开始回收操作前,先检测页面是否被锁定,若页面已经被锁定则从线程池中确定能够执行该回收操作的工作线程作为候选工作线程,并检测共享链表中是否已满,若共享链表非满,则将目标页
面加入到共享链表中,通过候选工作线程中的第二工作线程执行回收操作。如此可以避免因页面锁竞争导致内存回收流程阻塞,有效提高内存回收效率,优化用户使用体验。
附图说明
[0015]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1是本申请实施例提供的一种电子设备的结构框图;
[0017]图2是本申请实施例提供的一种内存回收控制方法的流程示意图;
[0018]图3是本申请实施例提供的一种预设的映射关系集合的示意图;
[0019]图4是本申请实施例提供另一种内存回收控制方法的流程示意图;
[0020]图5a是本申请实施例提供的一种内存回收控制装置的功能单元组成框图;
[0021]图5b是本申请实施例提供的另一种内存回收控制装置的功能单元组成框图。
具体实施方式
[0022]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0023]本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
[0024]在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0025]下面先对本申请涉及到的相关术语进行介绍。
[0026]标志位:是由页描述符(struct page)数据结构成员flags定义的,用于指示内存页面的页面类型,如已锁定页面、需迁移页面等,例如,当标志位被置为PG_locked,表明该内存页面为已锁定页面。
[0027]最近最少使用(Least Recently Used,LRU)链表:是Linux操作系统中的一对双向链表,分为活跃(active)LRU链表和非活跃(inactive)LRU链表,用于让操作系统知道哪些页面为最近最少使用的内存页面,以进行回收。最近最少使用的内存页面会被逐个放到到非活跃LRU链表的尾部,在进行内存页面回收时,会从非活跃LRU链表的尾部开始进行回收。
[0028]目前,电子设备在对内存页面进行回收时,需要先对页面持锁,然后再进行回收等一系列操作,但在持页面锁的过程中,若该页面已经被其他进程锁定,那么回收的流程就必
须先等待其他进程放锁后,再进行持锁,进而导致流程阻塞,造成内存回收不及时,降低了内存回收效率,极大影响了电子设备的流畅性和用户的使用体验。
[0029]为解决上述问题,本申请实施例提供了一种内存回收控制方法及相关装置。请参阅图1,图1是本申请实施例提供的一种电子设备的结构框图。如图1所示,电子设备10可以包括一个或多个如下部件:处理器11、与处理器11耦合的存储器12,其中存储器12可存储有一个或多个计算机程序,一个或多个计算机程序可以被配置为由一个或多个处理器11执行时实现下述实施例描述的方法。其中,所述电子设备可以是手机终端,平板电脑,笔记本电脑以及可穿戴智能设备。
[0030]处理器11可以包括一个或者多个处理核。处理器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存回收控制方法,其特征在于,所述方法包括:配置第一工作线程为需要对内存中待回收的目标页面执行回收操作的原始线程;当检测到所述目标页面的页面类型为已锁定页面时,确定线程池中能够执行所述回收操作的候选工作线程;若检测到共享链表存在可用空间,则将所述目标页面添加到所述共享链表中,所述共享链表是指可以被所述第一工作线程和/或所述候选工作线程调用的链表;通过所述候选工作线程中的第二工作线程执行所述回收操作。2.根据权利要求1所述方法,其特征在于,所述检测到所述目标页面的页面类型为已锁定页面,包括:检测到所述目标页面的标志位所承载的内容信息,所述内容信息用于表征所述目标页面的页面类型为已锁定页面。3.根据权利要求1所述方法,其特征在于,所述检测到所述目标页面的页面类型为已锁定页面,包括:调用尝试持锁函数对所述目标页面执行页面类型检测,得到执行结果,所述执行结果包括尝试持锁成功和尝试持锁失败;若所述执行结果为尝试持锁失败,则检测到所述目标页面的页面类型为已锁定页面。4.根据权利要求2或3所述方法,其特征在于,所述线程池包括多个工作线程,所述多个工作线程对应多个线程类型,所述线程类型用于指示所述工作线程所执行操作的类型,所述确定线程池中能够执行所述回收操作的候选工作线程,包括:查询预设的映射关系集合确定所述线程池中能够执行所述回收操作的候选工作线程,所述预设的映射关系集合包括所述多个工作线程和所述多个线程类型之间的对应关系。5.根据权利要求1所述方法,其特征在于,所述若检测到共享链表存在可用空间,则将所述目标页面添加到所述共享链表中,包括:调用缓存函数将所述目标页面加入到所述共享链表对应的缓存空间的回收空间中,所述缓存空间包括所述回收空间,所述回收空间用于指示待回收的内存页面;调用回调函数将所述回收空间中的待回收页面集合添加到所述共享链表中。6.根据权利要求5所述方法,其特征在于,所述通过所述候选工作线程中的第二工作线程执行所述回收操作,包括:从所述共享链表中取出所述待回收页面集合;根据所述...

【专利技术属性】
技术研发人员:李培锋
申请(专利权)人:OPPO广东移动通信有限公司
类型:发明
国别省市:

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

1