CN111782559A - 一种页面管理方法、装置及计算机可读存储介质 - Google Patents
一种页面管理方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111782559A CN111782559A CN202010642032.7A CN202010642032A CN111782559A CN 111782559 A CN111782559 A CN 111782559A CN 202010642032 A CN202010642032 A CN 202010642032A CN 111782559 A CN111782559 A CN 111782559A
- Authority
- CN
- China
- Prior art keywords
- page
- memory
- physical
- target
- moved
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 156
- 230000015654 memory Effects 0.000 claims abstract description 219
- 238000012216 screening Methods 0.000 claims abstract description 24
- 238000011084 recovery Methods 0.000 claims description 32
- 238000000034 method Methods 0.000 claims description 25
- 238000004064 recycling Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请提供了一种页面管理方法、装置及计算机可读存储介质,该页面管理方法包括:在满足页面移动条件时,从活跃页面链表的尾部获取待移动物理页面;从待移动物理页面中筛选归属于目标内存管理单位的目标物理页面;将目标物理页面移动至非活跃页面链表的尾部,以及将待移动物理页面中剩余物理页面移动至非活跃页面链表的头部。通过本申请方案的实施,考虑内存单元使用情况来将待移动物理页面在非活跃页面链表的头部和尾部之间进行分配,提升了页面管理的灵活性,有效降低了内存分配延迟的概率。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种页面管理方法、装置及计算机可读存储介质。
背景技术
内存是终端系统中最重要的硬件资源之一,有效的管理和分配内存对提高终端运行性能起着至关重要的作用。
在实际应用中,操作系统管理内存中的物理页面,同时也担任这内存分配的职责,应用程序在运行过程中向操作系统申请物理页面,在使用完成之后操作系统回收这些物理页面以解除占用。目前,相关技术中采用最近最少使用(LRU,Least recently used)算法来进行页面管理,也即从活跃页面链表中提取最近不常使用的物理页面放进非活跃页面链表头部,而随着非活跃页面链表中的物理页面的增加,头部的物理页面会被推到非活跃页面链表的尾部,然而,该技术仅从物理页面使用情况来进行页面管理,其页面管理的灵活性较差、产生内存分配延迟的概率较大。
发明内容
本申请实施例提供了一种页面管理方法、装置及计算机可读存储介质,至少能够解决相关技术中采用LRU算法来进行页面管理,所导致的页面管理的灵活性较差、产生内存分配延迟的概率较大的问题。
本申请实施例第一方面提供了一种页面管理方法,包括:
在满足页面移动条件时,从活跃页面链表的尾部获取待移动物理页面;
从所述待移动物理页面中筛选归属于目标内存管理单位的目标物理页面;
将所述目标物理页面移动至非活跃页面链表的尾部,以及将所述待移动物理页面中剩余物理页面移动至所述非活跃页面链表的头部。
本申请实施例第二方面提供了一种页面管理装置,包括:
获取模块,用于在满足页面移动条件时,从活跃页面链表的尾部获取待移动物理页面;
筛选模块,用于从所述待移动物理页面中筛选归属于目标内存管理单位的目标物理页面;
移动模块,用于将所述目标物理页面移动至非活跃页面链表的尾部,以及将所述待移动物理页面中剩余物理页面移动至所述非活跃页面链表的头部。
本申请实施例第三方面提供了一种电子装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现上述本申请实施例第一方面提供的页面管理方法中的各步骤。
本申请实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现上述本申请实施例第一方面提供的页面管理方法中的各步骤。
由上可见,根据本申请方案所提供的页面管理方法、装置及计算机可读存储介质,在满足页面移动条件时,从活跃页面链表的尾部获取待移动物理页面;从待移动物理页面中筛选归属于目标内存管理单位的目标物理页面;将目标物理页面移动至非活跃页面链表的尾部,以及将待移动物理页面中剩余物理页面移动至非活跃页面链表的头部。通过本申请方案的实施,考虑内存单元使用情况来将待移动物理页面在非活跃页面链表的头部和尾部之间进行分配,提升了页面管理的灵活性,有效降低了内存分配延迟的概率。
附图说明
图1为本申请第一实施例提供的页面管理方法的基本流程示意图;
图2为本申请第一实施例提供的一种非活跃页面链表的示意图;
图3为本申请第一实施例提供的一种目标物理页面移动方法的流程示意图;
图4为本申请第一实施例提供的另一种非活跃页面链表的示意图;
图5为本申请第一实施例提供的一种剩余物理页面移动方法的流程示意图;
图6为本申请第一实施例提供的又一种非活跃页面链表的示意图;
图7为本申请第二实施例提供的页面管理方法的细化流程示意图;
图8为本申请第三实施例提供的一种页面管理装置的程序模块示意图;
图9为本申请第三实施例提供的另一种页面管理装置的程序模块示意图;
图10为本申请第四实施例提供的电子装置的结构示意图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了解决相关技术中采用LRU算法来进行页面管理,所导致的页面管理的灵活性较差、产生内存分配延迟的概率较大的缺陷,本申请第一实施例提供了一种页面管理方法,应用于电子装置,电子装置可以为手机、平板电脑或计算机等,且电子装置的操作系统可以为安卓系统、IOS系统或Linux系统。
如图1为本实施例提供的页面管理方法的基本流程图,该页面管理方法包括以下的步骤:
步骤101、在满足页面移动条件时,从活跃页面链表的尾部获取待移动物理页面。
具体的,在本实施例中,操作系统将最近访问过的物理页面放置在活跃页面链表(Active_file)的头部,而越接近尾部的物理页面就是越长时间未访问过的页面,在实际应用中,处于活跃页面链表中的页面处于活跃状态,随着活跃页面的增多,就会有部分较久未访问的页面被推到活跃页面链表的尾部。
另外,本实施例的页面移动条件可以为内存紧张程度达到预设阈值或用户主动触发内存回收指令等,以此触发在活跃页面链表尾部获取物理页面作为待移动物理页面。
应当理解的是,本实施例所指的尾部并非一个绝对的尾部概念,也即不仅限于链表的最后一个物理页面,还应当可以是针对头部、中部的相对概念,也即可以泛指处于末尾的多个物理页面。并且,还应当说明的是,本实施例的物理页面可以包括文件页面、匿名页面等,其中,文件页面是文件读写操作过程中用于缓冲数据的页面,而匿名页面则是进程用户模式下的堆栈或使用匿名映射的内存区。
在本实施例一种实施方式中,在从待移动物理页面中筛选归属于目标内存管理单位的目标物理页面之前,还包括:将待移动物理页面缓存至预设的缓存区域。相对应的,从待移动物理页面中筛选归属于目标内存管理单位的目标物理页面包括:在缓存区域的待移动物理页面的数量达到预设数量阈值时,从所缓存的所有待移动物理页面中筛选归属于目标内存管理单位的目标物理页面。
具体的,在实际应用中,物理页面会根据其活跃程度在活跃页面链表和非活跃页面链表之间移动,本实施例在确定待移动物理页面之后,可以并不立即将其移动至相应链表,而是先将其放置到一个缓冲区,并当该缓冲区中缓存了足够多的物理页面之后,再一次性针对缓冲区中的所有物理页面进行批量移动操作,以此可以显著提升系统的内存管理性能。
步骤102、从待移动物理页面中筛选归属于目标内存管理单位的目标物理页面。
具体的,在本实施例中,内存是通过内存管理单位(Zone)进行管理的,系统内核可以将内存分为可移动页面管理单位和直接内存存取管理单位(DMA,Direct MemoryAccess),其中可移动页面管理单位就是分配可移动页面的,而DMA管理单位则可以进行多种页面分配。
应当说明的是,在实际应用中,不同物理页面归属于不同内存管理单位管理和分配,本实施例的目标内存管理单位可以是预置的某一或某些内存管理单位,也可以是在页面管理过程中所实时确定的内存管理单位。
在本实施例一种实施方式中,在从待移动物理页面中筛选归属于目标内存管理单位的目标物理页面之前,还包括:统计内存中所有内存管理单位的可用内存;将可用内存低于预设内存阈值的内存管理单位确定为目标内存管理单位。
具体的,在实际应用中,内存紧张时通常会触发内存回收行为,本实施例在内存紧张场景进一步对引起内存紧张的特定内存管理单位进行定位,然后将其确定为目标内存管理单位。在本实施例中,对各内存管理单位的可用内存进行确定,而可用内存低于预设内存阈值时说明内存管理单位会引起内存紧张。当然,考虑到不同内存管理单位的原始内存大小有所不同,而采用可用内存评估是否会引起内存紧张的准确性可能会欠佳,本实施例还可以获取各内存管理单位的可用内存相对于原始内存的内存占比,并将内存占比低于预设比例阈值的内存管理单位确定为目标内存管理单位。
步骤103、将目标物理页面移动至非活跃页面链表的尾部,以及将待移动物理页面中剩余物理页面移动至非活跃页面链表的头部。
具体的,区别于相关技术中将活跃页面链表中所需转移的物理页面均添加至非活跃链表(Inactive_file)头部,本实施例将所有待移动物理页面中归属于特定内存管理单位(例如引起内存紧张的内存管理单位)的物理页面移动至非活跃页面链表的尾部,而将其它物理页面移动至非活跃页面链表的头部,相对于相关技术中所提供的页面管理方法的页面管理灵活性更强,并且所直接移动至非活跃页面链表尾部的物理页面可以被尽快回收,这样被解除占用的物理页面可以尽快补充到目标页面管理单位,减少目标页面管理单位的内存紧张,减少内存分配延迟。
如图2所示为本实施例提供的一种非活跃页面链表的示意图,假设待移动物理页面包括页面A、页面B、页面C,其中,页面B和页面C均归属于当前内存紧张的目标内存管理单位,那么,则将页面B和页面C放置于非活跃页面链表的末尾两个位置,而页面A则放置于链表首位。
在本实施例的一些实施方式中,在将目标物理页面移动至非活跃页面链表的尾部之后,还包括:获取非活跃页面链表的尾部的待回收物理页面的页面属性;根据页面属性确定对应的页面回收策略;按照页面回收策略对待回收物理页面进行内存回收。
具体的,本实施例的页面属性用于表征页面的使用情况,优选的可以为页面类型,根据页面属性来针对性确定页面回收策略,以进行非活跃页面链表尾部的物理页面的回收,例如,对于文件页面,可以进行直接回收,而对于匿名页面,则需要通过内存压缩等方式进行回收,由此,可以提升内存回收效率和有效性。
如图3所示为本实施例提供的一种目标物理页面移动方法的流程示意图,在本实施例的一些实施方式中,在目标内存管理单位有多个时,将目标物理页面移动至非活跃页面链表的尾部具体包括以下步骤:
步骤301、分别获取对应于各目标内存管理单位的内存回收优先级;
步骤302、根据内存回收优先级的排列顺序将目标物理页面进行对应排序;
步骤303、按照页面排序结果将目标物理页面顺序移动至非活跃页面链表的尾部。
具体的,不同内存回收优先级对应于不同的内存回收紧迫性,在本实施例中,考虑到不同目标内存管理单位的内存回收紧迫性有所不同,在对目标物理页面进行移动时,可以按照各物理页面所归属的内存管理单位的内存回收紧迫性来将其移动至非活跃链表尾部的合适位置,其中,所归属的内存管理单位的内存回收优先级越高,相应物理页面在链表尾部的位置也越后,从而可以进一步降低内存分配延迟的概率。如图4所示为本实施例提供的另一种非活跃页面链表的示意图,例如目标物理页面包括页面A、页面B和页面C,其中页面A归属于目标内存管理单位a,而页面B和页面C均归属于目标内存管理单位b,若目标内存管理单位a的内存回收优先级高于目标内存管理单位b,那么页面A应当移动至非活跃页面链表倒数三位中最末尾一位,而页面B和页面C则置于其它两位,应当理解的是,由于页面B和页面C同属于一个内存管理单位,从而这两者在链表中的放置顺序可以不作限制。
进一步的,在本实施例的一些实施方式中,分别获取对应于各目标内存管理单位的内存回收优先级的具体实现方式包括但不限于以下两种:
方式一,分别获取各目标内存管理单位在预设历史时长内,可用内存低于预设内存阈值的时长占比;根据所有时长占比的比较结果对各目标内存管理单位对应分配内存回收优先级。
具体的,本实施例针对当前发生内存紧张的内存管理单位,还进一步获取其在历史时长内发生内存紧张的时长占比,从而可以对当前发生内存紧张的内存管理单位进行内存紧张等级评估,其中,内存紧张等级与上述时长占比正相关,从而时长占比越高,可以对应分配相对较高的内存回收优先级。
方式二,分别获取各目标内存管理单位的可用内存;根据所有可用内存的比较结果对各目标内存管理单位对应分配内存回收优先级。
具体的,针对可用内存低于预设内存阈值而导致内存紧张的内存管理单位,若其可用内存越低说明其内存紧张等级越高,也即可用内存与内存回收优先级负相关。
如图5如本实施例提供的一种剩余物理页面移动方法的流程示意图,在本实施例的一些实施方式中,将待移动物理页面中剩余物理页面移动至非活跃页面链表的头部具体包括以下步骤:
步骤501、分别获取待移动物理页面中各剩余物理页面的重复访问概率;
步骤502、根据重复访问概率的排列顺序将各剩余物理页面进行对应排序;
步骤503、按照页面排序结果将各剩余物理页面顺序移动至非活跃页面链表的头部。
具体的,在实际应用中,当非活跃页面链表中的物理页面再次被访问时,则会将其重新挂到活跃页面链表之中,而若非活跃页面链表中的某一物理页面被回收,则需要重新加载该页面,导致系统处理负荷加大、应用访问效率降低。基于此,本实施例在需要移动剩余物理页面至非活跃链表头部时,首先会获取所有物理页面的重复访问概率,该概率越高说明对应物理页面有较大可能在后续被再次访问,本实施例可以按照重复访问概率的比较关系来对所有剩余物理页面进行排序,并按照该排序来将各剩余物理页面移动至非活跃页面链表头部的合适位置。其中,重复访问概率越高,其越接近链表头部首位,从而其在页面移动过程中,后推到链表尾部所需时长越长,从而降低了易重复访问的页面被回收的概率。如图6所示为本实施例提供的又一种非活跃页面链表的示意图,例如目标物理页面包括页面A、页面B和页面C,且三者的重复访问概率依次降低,那么页面A应当移动至非活跃页面链表正数三位中最前面一位,而页面B和页面C则依次置于其后两位。
基于上述本申请实施例的技术方案,在满足页面移动条件时,从活跃页面链表的尾部获取待移动物理页面;从待移动物理页面中筛选归属于目标内存管理单位的目标物理页面;将目标物理页面移动至非活跃页面链表的尾部,以及将待移动物理页面中剩余物理页面移动至非活跃页面链表的头部。通过本申请方案的实施,考虑内存单元使用情况来将待移动物理页面在非活跃页面链表的头部和尾部之间进行分配,提升了页面管理的灵活性,有效降低了内存分配延迟的概率。
图7中的方法为本申请第二实施例提供的一种细化的页面管理方法,该页面管理方法包括:
步骤701、从活跃页面链表的尾部获取待移动物理页面,并将待移动物理页面缓存至预设的缓存区域。
步骤702、判断缓存区域的待移动物理页面的数量是否达到预设数量阈值;若是,则执行步骤703,若否,则返回执行步骤701。
在本实施例中,当确定待移动物理页面之后,并不立即将其移动至相应链表,而是先将其放置到一个缓冲区,并当该缓冲区中缓存了足够多的物理页面之后,再一次性针对缓冲区中的所有物理页面进行批量移动操作。
步骤703、将所有内存管理单位中,可用内存低于预设内存阈值的内存管理单位确定为目标内存管理单位。
在本实施例中,对各内存管理单位的可用内存进行确定,而可用内存低于预设内存阈值时说明内存管理单位会引起内存紧张。
步骤704、从所缓存的所有待移动物理页面中筛选归属于目标内存管理单位的目标物理页面。
在本实施例中,内存是通过内存管理单位进行管理的,而归属于内存紧张的内存管理单位的物理页面具备较高的解除占用需求。
步骤705、将目标物理页面移动至非活跃页面链表的尾部,以及将待移动物理页面中剩余物理页面移动至非活跃页面链表的头部。
具体的,本实施例将所有待移动物理页面中归属于内存紧张的内存管理单位的目标物理页面移动至非活跃页面链表的尾部,而将其它物理页面移动至非活跃页面链表的头部,那么,目标物理页面可以优先被回收。
步骤706、获取非活跃页面链表的尾部的待回收物理页面的页面属性。
步骤707、根据对应于页面属性的页面回收策略,对待回收物理页面进行内存回收。
在本实施例中,页面属性用于表征页面的使用情况,本实施例针对页面属性对应制定页面回收策略,以进行物理页面的适应性回收,可以提升内存回收效率和有效性。
应当理解的是,本实施例中各步骤的序号的大小并不意味着步骤执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成唯一限定。
本申请实施例公开了一种页面管理方法,一方面,考虑内存单元使用情况来将待移动物理页面在非活跃页面链表的头部和尾部之间进行分配,提升了页面管理的灵活性,有效降低了内存分配延迟的概率;另一方面,先将待移动物理页面缓存至缓存区域,并在缓存区域积累的物理页面到达特定数量之后,再一次性针对所缓存的所有物理页面进行批量移动操作,显著提升了系统的内存管理性能;此外,根据非活跃链表尾部待回收物理页面的页面属性对应确定页面回收策略进行页面回收,可以提升内存回收效率和有效性。
图8为本申请第三实施例提供的一种页面管理装置。该页面管理装置可用于实现前述实施例中的页面管理方法。如图8所示,该页面管理装置主要包括:
获取模块801,用于在满足页面移动条件时,从活跃页面链表的尾部获取待移动物理页面;
筛选模块802,用于从待移动物理页面中筛选归属于目标内存管理单位的目标物理页面;
移动模块803,用于将目标物理页面移动至非活跃页面链表的尾部,以及将待移动物理页面中剩余物理页面移动至非活跃页面链表的头部。
如图9所示为本实施例提供的另一种页面管理装置,在本实施例一些实施方式中,页面管理装置还包括:确定模块804,用于:在从待移动物理页面中筛选归属于目标内存管理单位的目标物理页面之前,统计内存中所有内存管理单位的可用内存;将可用内存低于预设内存阈值的内存管理单位确定为目标内存管理单位。
在本实施例一些实施方式中,目标内存管理单位有多个,相对应的,移动模块803在执行将目标物理页面移动至非活跃页面链表的尾部时,具体用于:分别获取对应于各目标内存管理单位的内存回收优先级;根据内存回收优先级的排列顺序将目标物理页面进行对应排序;按照页面排序结果将目标物理页面顺序移动至非活跃页面链表的尾部。
进一步地,在本实施例一些实施方式中,移动模块803在执行分别获取对应于各目标内存管理单位的内存回收优先级时,具体用于:分别获取各目标内存管理单位在预设历史时长内,可用内存低于预设内存阈值的时长占比;根据所有时长占比的比较结果对各目标内存管理单位对应分配内存回收优先级;或,分别获取各目标内存管理单位的可用内存;根据所有可用内存的比较结果对各目标内存管理单位对应分配内存回收优先级。
在本实施例一些实施方式中,移动模块803在执行将待移动物理页面中剩余物理页面移动至非活跃页面链表的头部时,具体用于:分别获取待移动物理页面中各剩余物理页面的重复访问概率;根据重复访问概率的排列顺序将各剩余物理页面进行对应排序;按照页面排序结果将各剩余物理页面顺序移动至非活跃页面链表的头部。
请再次参阅图9,在本实施例一些实施方式中,页面管理装置还包括:回收模块805,用于:在将目标物理页面移动至非活跃页面链表的尾部之后,获取非活跃页面链表的尾部的待回收物理页面的页面属性;根据页面属性确定对应的页面回收策略;按照页面回收策略对待回收物理页面进行内存回收。
请再次参阅图9,在本实施例的一些实施方式中,页面管理装置还包括:缓存模块806,用于:在从待移动物理页面中筛选归属于目标内存管理单位的目标物理页面之前,将待移动物理页面缓存至预设的缓存区域。相对应的,筛选模块802具体用于:在缓存区域的待移动物理页面的数量达到预设数量阈值时,从所缓存的所有待移动物理页面中筛选归属于目标内存管理单位的目标物理页面。
应当说明的是,第一、二实施例中的页面管理方法均可基于本实施例提供的页面管理装置实现,所属领域的普通技术人员可以清楚的了解到,为描述的方便和简洁,本实施例中所描述的页面管理装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
根据本实施例所提供的页面管理装置,在满足页面移动条件时,从活跃页面链表的尾部获取待移动物理页面;从待移动物理页面中筛选归属于目标内存管理单位的目标物理页面;将目标物理页面移动至非活跃页面链表的尾部,以及将待移动物理页面中剩余物理页面移动至非活跃页面链表的头部。通过本申请方案的实施,考虑内存单元使用情况来将待移动物理页面在非活跃页面链表的头部和尾部之间进行分配,提升了页面管理的灵活性,有效降低了内存分配延迟的概率。
请参阅图10,图10为本申请第四实施例提供的一种电子装置。该电子装置可用于实现前述实施例中的页面管理方法。如图10所示,该电子装置主要包括:
存储器1001、处理器1002、总线1003及存储在存储器1001上并可在处理器1002上运行的计算机程序,存储器1001和处理器1002通过总线1003连接。处理器1002执行该计算机程序时,实现前述实施例中的页面管理方法。其中,处理器的数量可以是一个或多个。
存储器1001可以是高速随机存取记忆体(RAM,Random Access Memory)存储器,也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1001用于存储可执行程序代码,处理器1002与存储器1001耦合。
进一步的,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的电子装置中,该计算机可读存储介质可以是前述图10所示实施例中的存储器。
该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述实施例中的页面管理方法。进一步的,该计算机可存储介质还可以是U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请所提供的页面管理方法、装置及计算机可读存储介质的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种页面管理方法,其特征在于,包括:
在满足页面移动条件时,从活跃页面链表的尾部获取待移动物理页面;
从所述待移动物理页面中筛选归属于目标内存管理单位的目标物理页面;
将所述目标物理页面移动至非活跃页面链表的尾部,以及将所述待移动物理页面中剩余物理页面移动至所述非活跃页面链表的头部。
2.根据权利要求1所述的页面管理方法,其特征在于,所述从所述待移动物理页面中筛选归属于目标内存管理单位的目标物理页面之前,还包括:
统计内存中所有内存管理单位的可用内存;
将所述可用内存低于预设内存阈值的所述内存管理单位确定为所述目标内存管理单位。
3.根据权利要求1所述的页面管理方法,其特征在于,在所述目标内存管理单位有多个时,所述将所述目标物理页面移动至非活跃页面链表的尾部包括:
分别获取对应于各所述目标内存管理单位的内存回收优先级;
根据所述内存回收优先级的排列顺序将所述目标物理页面进行对应排序;
按照页面排序结果将所述目标物理页面顺序移动至非活跃页面链表的尾部。
4.根据权利要求3所述的页面管理方法,其特征在于,所述分别获取对应于各所述目标内存管理单位的内存回收优先级包括:
分别获取各所述目标内存管理单位在预设历史时长内,可用内存低于预设内存阈值的时长占比;
根据所有所述时长占比的比较结果对各所述目标内存管理单位对应分配内存回收优先级;
或,分别获取各所述目标内存管理单位的可用内存;
根据所有所述可用内存的比较结果对各所述目标内存管理单位对应分配内存回收优先级。
5.根据权利要求1所述的页面管理方法,其特征在于,所述将所述待移动物理页面中剩余物理页面移动至所述非活跃页面链表的头部包括:
分别获取所述待移动物理页面中各剩余物理页面的重复访问概率;
根据所述重复访问概率的排列顺序将所述各剩余物理页面进行对应排序;
按照页面排序结果将所述各剩余物理页面顺序移动至所述非活跃页面链表的头部。
6.根据权利要求1所述的页面管理方法,其特征在于,所述将所述目标物理页面移动至非活跃页面链表的尾部之后,还包括:
获取所述非活跃页面链表的尾部的待回收物理页面的页面属性;
根据所述页面属性确定对应的页面回收策略;
按照所述页面回收策略对所述待回收物理页面进行内存回收。
7.根据权利要求1至6中任意一项所述的页面管理方法,其特征在于,所述从所述待移动物理页面中筛选归属于目标内存管理单位的目标物理页面之前,还包括:
将所述待移动物理页面缓存至预设的缓存区域;
所述从所述待移动物理页面中筛选归属于目标内存管理单位的目标物理页面包括:
在所述缓存区域的所述待移动物理页面的数量达到预设数量阈值时,从所缓存的所有所述待移动物理页面中筛选归属于目标内存管理单位的目标物理页面。
8.一种页面管理装置,其特征在于,包括:
获取模块,用于在满足页面移动条件时,从活跃页面链表的尾部获取待移动物理页面;
筛选模块,用于从所述待移动物理页面中筛选归属于目标内存管理单位的目标物理页面;
移动模块,用于将所述目标物理页面移动至非活跃页面链表的尾部,以及将所述待移动物理页面中剩余物理页面移动至所述非活跃页面链表的头部。
9.一种电子装置,其特征在于,包括:存储器、处理器及总线;
所述总线用于实现所述存储器、处理器之间的连接通信;
所述处理器用于执行存储在所述存储器上的计算机程序;
所述处理器执行所述计算机程序时,实现权利要求1至7中任意一项所述方法中的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至7中的任意一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010642032.7A CN111782559A (zh) | 2020-07-06 | 2020-07-06 | 一种页面管理方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010642032.7A CN111782559A (zh) | 2020-07-06 | 2020-07-06 | 一种页面管理方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111782559A true CN111782559A (zh) | 2020-10-16 |
Family
ID=72757900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010642032.7A Pending CN111782559A (zh) | 2020-07-06 | 2020-07-06 | 一种页面管理方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782559A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256997A (zh) * | 2020-11-11 | 2021-01-22 | Oppo广东移动通信有限公司 | 页面管理方法、页面管理装置、存储介质与电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040218604A1 (en) * | 2001-05-26 | 2004-11-04 | Porter John David | Method and apparatus for communications bandwidth allocation |
CN104008061A (zh) * | 2013-02-22 | 2014-08-27 | 华为技术有限公司 | 内存回收方法及装置 |
JP2015141545A (ja) * | 2014-01-29 | 2015-08-03 | 日本電気株式会社 | ストレージ制御装置、ストレージ制御方法、及び、プログラム |
CN104956341A (zh) * | 2013-12-31 | 2015-09-30 | 华为技术有限公司 | 数据迁移方法、装置和处理器 |
CN105373484A (zh) * | 2014-08-20 | 2016-03-02 | 西安慧泽知识产权运营管理有限公司 | 一种网络通信芯片中内存分配、存储和管理的方法 |
CN108664411A (zh) * | 2018-05-03 | 2018-10-16 | 晶晨半导体(上海)股份有限公司 | 一种内存链表及内存管理的优化方法 |
KR20190005135A (ko) * | 2017-07-05 | 2019-01-15 | 한양대학교 산학협력단 | 비휘발성 메모리의 데이터 스와핑 방법 및 장치 |
-
2020
- 2020-07-06 CN CN202010642032.7A patent/CN111782559A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040218604A1 (en) * | 2001-05-26 | 2004-11-04 | Porter John David | Method and apparatus for communications bandwidth allocation |
CN104008061A (zh) * | 2013-02-22 | 2014-08-27 | 华为技术有限公司 | 内存回收方法及装置 |
CN104956341A (zh) * | 2013-12-31 | 2015-09-30 | 华为技术有限公司 | 数据迁移方法、装置和处理器 |
JP2015141545A (ja) * | 2014-01-29 | 2015-08-03 | 日本電気株式会社 | ストレージ制御装置、ストレージ制御方法、及び、プログラム |
CN105373484A (zh) * | 2014-08-20 | 2016-03-02 | 西安慧泽知识产权运营管理有限公司 | 一种网络通信芯片中内存分配、存储和管理的方法 |
KR20190005135A (ko) * | 2017-07-05 | 2019-01-15 | 한양대학교 산학협력단 | 비휘발성 메모리의 데이터 스와핑 방법 및 장치 |
CN108664411A (zh) * | 2018-05-03 | 2018-10-16 | 晶晨半导体(上海)股份有限公司 | 一种内存链表及内存管理的优化方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256997A (zh) * | 2020-11-11 | 2021-01-22 | Oppo广东移动通信有限公司 | 页面管理方法、页面管理装置、存储介质与电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108205473B (zh) | 内存处理方法及装置、计算机装置及计算机可读存储介质 | |
US10303374B2 (en) | Data check method and storage system | |
CN108205498B (zh) | 内存回收方法及装置、计算机装置及计算机可读存储介质 | |
CN108205501B (zh) | 内存回收方法及装置、计算机装置及计算机可读存储介质 | |
CN108205471B (zh) | 内存回收方法及装置、计算机装置及计算机可读存储介质 | |
CN108228341B (zh) | 内存回收方法及装置、终端设备及计算机可读存储介质 | |
CN108228449B (zh) | 终端设备控制方法及装置、终端设备及计算机可读存储介质 | |
CN107122130B (zh) | 一种数据重删方法及装置 | |
CN105917303B (zh) | 一种控制器、识别数据块稳定性的方法和存储系统 | |
CN111984400A (zh) | 神经网络的内存分配方法及装置 | |
CN108984130A (zh) | 一种分布式存储的缓存读取方法及其装置 | |
US10901890B2 (en) | Memory reclaiming method and apparatus | |
CN111324303A (zh) | Ssd垃圾回收方法、装置、计算机设备及存储介质 | |
CN108228339B (zh) | 一种内存回收方法及装置、终端设备及计算机可读存储介质 | |
CN108287760B (zh) | 终端设备控制方法及装置、终端设备及计算机可读存储介质 | |
CN117492662B (zh) | 预读取的确定方法和装置、存储介质及电子设备 | |
CN111782559A (zh) | 一种页面管理方法、装置及计算机可读存储介质 | |
CN111639037A (zh) | 一种缓存的动态分配方法、装置及DRAM-Less固态硬盘 | |
US20170262485A1 (en) | Non-transitory computer-readable recording medium, data management device, and data management method | |
CN108287761B (zh) | 内存回收方法及装置、终端设备及计算机可读存储介质 | |
CN112199042B (zh) | 存储空间管理方法、装置、芯片、设备及存储介质 | |
CN108228340B (zh) | 终端控制方法及装置、终端设备及计算机可读存储介质 | |
CN117762827A (zh) | 一种内存优化的方法及相关设备 | |
CN108228342B (zh) | 终端设备控制方法及装置、终端设备及计算机可读存储介质 | |
CN117806989A (zh) | 基于持久化内存的高速数据处理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20241025 |