CN112948208B - 一种内存监测和回收方法、系统、设备及存储介质 - Google Patents
一种内存监测和回收方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN112948208B CN112948208B CN202110208352.6A CN202110208352A CN112948208B CN 112948208 B CN112948208 B CN 112948208B CN 202110208352 A CN202110208352 A CN 202110208352A CN 112948208 B CN112948208 B CN 112948208B
- Authority
- CN
- China
- Prior art keywords
- memory
- garbage collection
- preset threshold
- physical memory
- memory usage
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- 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)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Memory System (AREA)
Abstract
本申请提供一种内存监测和回收方法、系统、设备及存储介质,通过获取系统剩余可用物理内存用量、应用程序总物理内存用量,根据预设的,或者从云端获取的,各内存压力等级所对应的相关阈值,判定系统当前所处的内存压力等级,并判断当前是否进行内存垃圾回收;在进行内存垃圾回收的情况下,生成内存垃圾回收指令,其中,内存垃圾回收指令包括各个内存压力等级下的垃圾回收策略。以实施实时、精确、灵活的内存监控,并实施相应的内存回收策略,解决嵌入式平台上应用程序的实时监控和回收内存的问题。
Description
技术领域
本申请涉及计算机控制技术领域,特别是涉及一种内存监测和回收方法、系统、设备及存储介质。
背景技术
在Linux平台,一般都借助于top、vmstat、procrank等命令行工具去监测进程的内存状态,从而保证系统正常运行,避免出现进程假死、后台退出等问题。其中,监测进程的内存状态主要是获取内存信息,包括但不限于虚拟耗用内存(Virtual Set Size,VSS)、实际使用物理内存(Resident Set Size,RSS)、实际使用的物理内存(Proportional Set Size,PSS)、进程独自占用的物理内存(Unique Set Size,USS)。其中,VSS包括共享库占用的内存,RSS包括共享库占用的内存,PSS包括比例分配共享库占用的内存,USS不包含共享库占用的内存。
然而,在Linux系统中,使用常规的命令行工具无法精确计算出多进程应用的总物理内存的占用情况,而且这些命令行工具也不便常驻在进程中。此外,进程通过调用外部shell命令的方式来获取物理内存占用数据,效率比较低。
目前针对相关技术中无法实时监控内存的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种内存监测和回收方法、系统、设备及存储介质,以至少解决相关技术中无法实时监控内存的问题。
第一方面,本申请实施例提供了一种内存监测和回收方法,包括:
获取系统剩余可用物理内存用量、应用程序总物理内存用量;
在所述系统剩余可用物理内存用量未达到第一预设阈值、且在所述应用程序总物理内存用量未达到第二预设阈值的情况下,判断是否进行内存垃圾回收;
在进行所述内存垃圾回收的情况下,生成内存垃圾回收指令,其中,所述内存垃圾回收指令包括第一垃圾回收策略或第二垃圾回收策略。
在其中的一些实施例中,在所述系统剩余可用物理内存用量未达到第一预设阈值、且在所述应用程序总物理内存用量未达到第二预设阈值的情况下,判断是否进行内存垃圾回收包括:
在所述系统剩余可用物理内存用量达到第三预设阈值的情况下,判断是否进行内存垃圾回收;
在进行所述内存垃圾回收的情况下,生成内存垃圾回收指令,其中,所述内存垃圾回收指令包括第一垃圾回收策略。
在其中的一些实施例中,在所述系统剩余可用物理内存用量未达到第一预设阈值、且在所述应用程序总物理内存用量未达到第二预设阈值的情况下,判断是否进行内存垃圾回收包括:
在所述系统剩余可用物理内存用量未达到第三预设阈值的情况、且在所述应用程序总物理内存用量达到第四预设阈值的情况下,判断是否进行内存垃圾回收;
在进行所述内存垃圾回收的情况下,生成内存垃圾回收指令,其中,所述内存垃圾回收指令包括第一垃圾回收策略。
在其中的一些实施例中,在所述系统剩余可用物理内存用量未达到第一预设阈值、且在所述应用程序总物理内存用量未达到第二预设阈值的情况下,判断是否进行内存垃圾回收包括:
在所述系统剩余可用物理内存用量未达到第三预设阈值、在所述应用程序总物理内存用量未达到第四预设阈值的情况下,判断是否进行内存垃圾回收;
在进行所述内存垃圾回收的情况下,生成内存垃圾回收指令,其中,所述内存垃圾回收指令包括第二垃圾回收策略。
在其中的一些实施例中,在所述应用程序总物理内存用量未达到所述第二预设阈值的情况下,还包括:
判断是否进行系统缓存清理;
在进行所述系统缓存清理的情况下,生成系统缓存清理指令。
在其中的一些实施例中,在所述系统剩余可用物理内存用量未达到第一预设阈值、且在所述应用程序总物理内存用量未达到第二预设阈值的情况下,判断是否进行内存垃圾回收包括:
在所述系统剩余可用物理内存用量达到第五预设阈值的情况下,判断是否进行内存垃圾回收;
在进行内存垃圾回收的情况下,生成内存垃圾回收指令,其中,所述内存垃圾回收指令包括第三垃圾回收策略。
在其中的一些实施例中,在所述系统剩余可用物理内存用量达到第五预设阈值的情况下,判断是否进行内存垃圾回收包括:
在所述应用程序总物理内存用量达到第六预设阈值的情况下,判断是否进行内存垃圾回收;
在进行内存垃圾回收的情况下,生成内存垃圾回收指令,其中,所述内存垃圾回收指令包括第三垃圾回收策略。
第二方面,本申请实施例提供了一种内存监测和回收方法,包括:
上传系统剩余可用物理内存用量、应用程序总物理内存用量;
获取内存判断策略;
根据所述内存判断策略,判断所述系统剩余可用物理内存用量是否达到第一预设阈值;
在所述系统剩余可用物理内存用量未达到所述第一预设阈值的情况下,根据内存判断策略,判断所述应用程序总物理内存用量是否达到第二预设阈值;
在所述应用程序总物理内存用量未达到所述第二预设阈值的情况下,获取内存垃圾回收指令,其中,所述内存垃圾回收指令包括第一垃圾回收策略或第二垃圾回收策略;
在获取所述内存垃圾回收指令的情况下,执行所述第一垃圾回收策略或所述第二垃圾回收策略。
在其中的一些实施例中,在所述应用程序总物理内存用量未达到第二预设阈值的情况下,获取内存垃圾回收指令包括:
在所述应用程序总物理内存用量未达到第二预设阈值的情况下,根据所述内存判断策略,判断所述系统剩余可用物理内存用量是否达到第三预设阈值;
在所述系统剩余可用物理内存用量达到所述第三预设阈值的情况下,获取内存垃圾回收指令,其中,所述内存垃圾回收指令包括第一垃圾回收策略;
在获取所述内存垃圾回收指令的情况下,执行所述第一垃圾回收策略。
在其中的一些实施例中,在所述应用程序总物理内存用量未达到第二预设阈值的情况下,获取内存垃圾回收指令包括:
在所述应用程序总物理内存用量未达到第二预设阈值的情况下,根据所述内存判断策略,判断所述系统剩余可用物理内存用量是否达到第三预设阈值;
在所述系统剩余可用物理内存用量未达到所述第三预设阈值的情况下,根据所述内存判断策略,判断所述应用程序总物理内存用量是否达到第四预设阈值;
在所述应用程序总物理内存用量达到所述第四预设阈值的情况下,获取内存垃圾回收指令,其中,所述内存垃圾回收指令包括第一垃圾回收策略;
在获取所述内存垃圾回收指令的情况下,执行所述第一垃圾回收策略。
在其中的一些实施例中,在所述应用程序总物理内存用量未达到第二预设阈值的情况下,获取内存垃圾回收指令包括:
在所述应用程序总物理内存用量未达到第二预设阈值的情况下,根据所述内存判断策略,判断所述系统剩余可用物理内存用量是否达到第三预设阈值;
在所述系统剩余可用物理内存用量未达到所述第三预设阈值的情况下,根据所述内存判断策略,判断所述应用程序总物理内存用量是否达到第四预设阈值;
在所述应用程序总物理内存用量未达到所述第四预设阈值的情况下,获取内存垃圾回收指令,其中,所述内存垃圾回收指令包括第二垃圾回收策略;
在获取所述内存垃圾回收指令的情况下,执行所述第二垃圾回收策略。
在其中的一些实施例中,在所述应用程序总物理内存用量未达到所述第二预设阈值的情况下,所述方法还包括:
获取系统缓存清理指令;
在获取系统缓存清理指令的情况下,执行所述系统缓存清理指令。
在其中的一些实施例中,在所述应用程序总物理内存用量未达到第二预设阈值的情况下,获取内存垃圾回收指令包括:
在所述应用程序总物理内存用量未达到所述第二预设阈值的情况下,根据内存判断策略,判断所述系统剩余可用物理内存用量是否达到第五预设阈值;
在所述系统剩余可用物理内存用量达到所述第五预设阈值的情况下,获取内存垃圾回收指令,其中,所述内存垃圾回收指令包括第三垃圾回收策略;
在获取所述内存垃圾回收指令的情况下,执行所述第三垃圾回收策略。
在其中的一些实施例中,在所述系统剩余可用物理内存用量达到第五预设阈值的情况下,判断是否进行内存垃圾回收包括:
在所述系统剩余可用物理内存用量未达到所述第五预设阈值的情况下,根据内存判断策略,判断所述应用程序总物理内存用量是否达到第六预设阈值;
在所述应用程序总物理内存用量达到所述第六预设阈值的情况下,获取内存垃圾回收指令,其中,所述内存垃圾回收指令包括第三垃圾回收策略;
在获取所述内存垃圾回收指令的情况下,执行所述第三垃圾回收策略。
在其中的一些实施例中,在上传系统剩余可用物理内存用量、应用程序总物理内存用量之前,还包括:
获取应用程序的状态信息;
在所述应用程序被启动的情况下,安装内存监测定时器;
唤醒所述内存监测定时器。
在其中的一些实施例中,所述方法还包括:
在进行内存垃圾回收或不进行垃圾回收之后,再次唤醒所述内存监测定时器。
在其中的一些实施例中,在安装内存监测定时器之后,所述方法还包括:
设置唤醒时间序列;
按照所述唤醒时间序列,定时唤醒所述内存监测定时器。
第三方面,本申请实施例提供了一种内存监测和回收系统,包括:
本地执行端,用于获取系统剩余可用物理内存用量、应用程序总物理内存用量;
云端,用于接收所述本地执行端传输的所述系统剩余可用物理内存用量、所述应用程序总物理内存用量,以及生成内存判断策略;
所述本地执行端还用于接收云端传输的内存判断策略,并判断所述系统剩余可用物理内存用量是否达到第一预设阈值、所述应用程序总物理内存用量是否达到第二预设阈值;
所述云端还用于在所述系统剩余可用物理内存用量未达到所述第一预设阈值、且所述应用程序总物理内存用量未达到所述第二预设阈值的情况下,判断是否进行内存垃圾回收;在进行内存垃圾回收的情况下,生成内存垃圾回收指令,其中,所述内存垃圾回收指令包括第一垃圾回收策略或第二垃圾回收策略;
所述本地执行端还用于接收所述云端传输的所述内存垃圾回收指令,并执行所述第一垃圾回收策略或所述第二垃圾回收策略。
在其中的一些实施例中,在所述应用程序总物理内存用量未达到所述第二预设阈值的情况下,所述本地执行端还用于判断所述系统剩余可用物理内存用量是否达到第三预设阈值;在所述系统剩余可用物理内存用量达到所述第三预设阈值的情况下,所述云端还用于判断是否进行内存垃圾回收;在进行内存垃圾回收的情况下,所述云端生成内存垃圾回收指令,其中,所述内存垃圾回收指令包括第一垃圾回收策略;
所述本地执行端还用于接收所述云端传输的所述内存垃圾回收指令,并执行所述第一垃圾回收策略。
在其中的一些实施例中,在所述应用程序总物理内存用量未达到所述第二预设阈值的情况下,所述本地执行端还用于判断所述系统剩余可用物理内存用量是否达到第三预设阈值;在所述系统剩余可用物理内存用量未达到所述第三预设阈值的情况下,所述本地执行端还用于判断所述应用程序总物理内存用量是否达到第四预设阈值;在所述应用程序总物理内存用量达到所述第四预设阈值的情况下,所述云端还用于判断是否进行内存垃圾回收;在进行内存垃圾回收的情况下,所述云端生成内存垃圾回收指令,其中,所述内存垃圾回收指令包括第一垃圾回收策略;
所述本地执行端还用于接收所述云端传输的所述内存垃圾回收指令,并执行所述第一垃圾回收策略。
在其中的一些实施例中,在所述应用程序总物理内存用量未达到所述第二预设阈值的情况下,所述本地执行端还用于判断所述系统剩余可用物理内存用量是否达到第三预设阈值;在所述系统剩余可用物理内存用量未达到所述第三预设阈值的情况下,所述本地执行端还用于判断所述应用程序总物理内存用量是否达到第四预设阈值;在所述应用程序总物理内存用量未达到所述第四预设阈值的情况下,所述云端还用于判断是否进行内存垃圾回收;在进行内存垃圾回收的情况下,所述云端生成内存垃圾回收指令,其中,所述内存垃圾回收指令包括第二垃圾回收策略;
所述本地执行端还用于接收所述云端传输的所述内存垃圾回收指令,并执行所述第二垃圾回收策略。
在其中的一些实施例中,所述本地执行端还用于上传系统缓存;
所述云端还用于接收所述本地执行端传输的所述系统缓存,并判断是否进行系统缓存清理;在进行系统缓冲清理的情况下,生成系统缓存清理指令;
所述本地执行端还用于接收所述云端传输的所述系统缓存清理指令,并执行所述系统缓存清理指令。
第四方面,本申请实施例提供了一种计算机设备,包括:
至少一个处理器;
以及与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行如上所述的内存监测和回收方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现如上所述的内存监测和回收方法。
相比于相关技术,本申请实施例提供的一种内存监测和回收方法、系统、设备及存储介质,通过获取系统剩余可用物理内存用量、应用程序总物理内存用量;判断系统剩余可用物理内存用量是否达到第一预设阈值;在系统剩余可用物理内存用量未达到第一预设阈值的情况下,判断应用程序总物理内存用量是否达到第二预设阈值;在应用程序总物理内存用量未达到第二预设阈值的情况下,判断是否进行内存垃圾回收;在进行内存垃圾回收的情况下,生成内存垃圾回收指令,其中,内存垃圾回收指令包括第一垃圾回收策略或第二垃圾回收策略,实施实时、精确、灵活的内存监控,解决无法实时监控内存的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的内存监测和回收方法的流程图(一);
图2是根据本申请实施例的内存监测和回收方法的流程图(二);
图3是根据本申请实施例的内存监测和回收方法的流程图(三);
图4是根据本申请实施例的内存监测和回收方法的流程图(四);
图5是根据本申请实施例的内存监测和回收方法的流程图(五);
图6是根据本申请实施例的内存监测和回收方法的流程图(六);
图7是根据本申请实施例的内存监测和回收方法的流程图(七);
图8是根据本申请实施例的内存监测和回收方法的流程图(八);
图9是根据本申请实施例的内存监测和回收方法的流程图(九);
图10是根据本申请实施例的内存监测和回收方法的流程图(十);
图11是根据本申请实施例的内存监测和回收方法的流程图(十一);
图12是根据本申请实施例的内存监测和回收方法的流程图(十二);
图13是根据本申请实施例的内存监测和回收方法的流程图(十三);
图14是根据本申请实施例的内存监测和回收方法的流程图(十四);
图15是根据本申请实施例的内存监测和回收方法的流程图(十五);
图16是根据本申请实施例的内存监测和回收方法的流程图(十六);
图17是根据本申请实施例的内存监测和回收方法的流程图(十七);
图18是根据本申请实施例的内存监测和回收系统的结构框图;
图19是根据本申请实施例的内存监测和回收系统的具体应用实施方式的结构框图;
图20是根据本申请实施例的内存监测和回收方法的具体应用实施方式的流程图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
图1是根据本申请实施例的内存监测和回收方法的流程图(一)。如图1所示,一种内存监测和回收方法,包括:
步骤S102、获取系统剩余可用物理内存用量、应用程序总物理内存用量;
步骤S104、在系统剩余可用物理内存用量未达到第一预设阈值、且在应用程序总物理内存用量未达到第二预设阈值的情况下,判断是否进行内存垃圾回收;
步骤S106、在进行内存垃圾回收的情况下,生成内存垃圾回收指令,其中,内存垃圾回收指令包括第一垃圾回收策略或第二垃圾回收策略。
在本实施例中,云端作为执行主体执行上述步骤。
在步骤S102中,云端从本地执行端获取系统剩余可用物理内存用量、应用程序总物理内存用量。
在步骤S102中,其可以定时获取系统剩余可用物理内存用量、应用程序总物理内存用量,也可以实时获取系统剩余可用物理内存用量、应用程序总物理内存用量。一般而言,为了减少负载以及数据传输量,通常是定时获取系统剩余可用物理内存用量、应用程序总物理内存用量。
在步骤S104中,系统剩余可用物理内存用量未达到第一预设阈值是指系统剩余可用物理内存用量不充足,即系统剩余可用物理内存用量小于系统剩余可用物理内存用量充足阈值。
具体地,系统剩余可用物理内存用量未达到第一预设阈值指系统剩余可用物理内存用量小于第一预设阈值。
在步骤S104中,应用程序总物理内存用量未达到第二预设阈值是指应用程序总物理内存用量较高,即应用程序总物理内存用量大于应用程序总物理内存用量低阈值。
具体地,应用程序总物理内存用量未达到第二预设阈值是指应用程序总物理内存用量大于第二预设阈值。
在步骤S106中,第一垃圾回收策略是指重度垃圾回收策略,即使得系统剩余可用物理内存达到第一预设阈值、应用程序总物理内存用量达到第二预设阈值。第二垃圾回收策略是指轻度垃圾回收策略,即使得系统剩余可用物理内存达到第一预设阈值或应用程序总物理内存用量达到第二预设阈值。
此外,在步骤S104之后,在不进行内存垃圾回收的情况下,返回步骤S102。
在步骤S106之后,在进行内存垃圾回收的情况下,返回步骤S102。
与相关技术中的使用进程调用外部命令行工具进行内存监控、内存回收相比,本实施例的云端进行实时内存监控,并生成相对应的内存回收策略,提高内存处理效率。
图2是根据本申请实施例的内存监测和回收方法的流程图(二)。如图2所示,在系统剩余可用物理内存用量未达到第一预设阈值、且在应用程序总物理内存用量未达到第二预设阈值的情况下,判断是否进行内存垃圾回收包括:
步骤S202、在系统剩余可用物理内存用量达到第三预设阈值的情况下,判断是否进行内存垃圾回收;
步骤S204、在进行内存垃圾回收的情况下,生成内存垃圾回收指令,其中,内存垃圾回收指令包括第一垃圾回收策略。
在本实施例中,云端作为执行主体执行上述步骤。
在步骤S202中,系统剩余可用物理内存用量达到第三预设阈值是指系统剩余可用物理内存用量极低,即系统剩余可用物理内存用量小于系统剩余可用物理内存用量警戒阈值。
具体地,系统剩余可用物理内存用量达到第三预设阈值指系统剩余可用物理内存用量小于等于第三预设阈值。
此外,在步骤S202之后,在不进行内存垃圾回收的情况下,返回至步骤S102。
在步骤S204之后,在进行内存垃圾回收的情况下,返回至步骤S102。
在本实施例中,在系统剩余可用内存用量小于等于系统剩余可用内存用量警戒阈值的情况下,表明系统中进程过多或后台应用程序过多,影响系统的流畅运行,因此,需要执行重度垃圾回收策略。
在本实施例中,对系统剩余可用内存用量进行进一步判断,从而实施更为精准有效地内存回收策略(即垃圾回收策略)。
图3是根据本申请实施例的内存监测和回收方法的流程图(三)。如图3所示,在系统剩余可用物理内存用量达到第三预设阈值的情况下,判断是否进行内存垃圾回收包括:
步骤S302、在应用程序总物理内存用量达到第四预设阈值的情况下,判断是否进行内存垃圾回收;
步骤S304、在进行内存垃圾回收的情况下,生成内存垃圾回收指令,其中,内存垃圾回收指令包括第一垃圾回收策略。
在本实施例中,云端作为执行主体执行上述步骤。
在步骤S302中,应用程序总物理内存用量达到第四预设阈值是指应用程序总物理内存用量极高,即应用程序总物理内存用量大于等于应用程序总物理内存用量警戒阈值。
具体地,应用程序总物理内存用量达到第四预设阈值是指应用程序总物理内存用量大于等于第四预设阈值。
此外,在步骤S302之后,在不进行内存垃圾回收的情况下,返回至步骤S102。
在步骤S304之后,在进行内存垃圾回收的情况下,返回至步骤S102。
在本实施例中,在应用程序总物理内存用量大于等于应用程序总物理内存用量警戒阈值的情况下,表明应用程序占用过多的内存资源,影响系统的流畅运行,因此,需要执行重度垃圾回收策略。
在本实施例中,对应用程序总物理内存用量进行进一步判断,从而实施更为精准有效地内存回收策略(即垃圾回收策略)。
图4是根据本申请实施例的内存监测和回收方法的流程图(四)。如图4所示,在系统剩余可用物理内存用量达到第三预设阈值的情况下,判断是否进行内存垃圾回收还包括:
步骤S402、在应用程序总物理内存用量未达到第四预设阈值的情况下,判断是否进行内存垃圾回收;
步骤S404、在进行内存垃圾回收的情况下,生成内存垃圾回收指令,其中,内存垃圾回收指令包括第二垃圾回收策略。
在本实施例中,云端作为执行主体执行上述步骤。
其中,在步骤S402中,应用程序总物理内存用量未达到第四预设阈值是指应用程序总物理内存用量不是极高,即应用程序总物理内存用量小于应用程序总物理内存用量警戒阈值。
具体地,应用程序总物理内存用量未达到第四预设阈值是指应用程序总物理内存用量小于第四预设阈值。
在步骤S402之后,在不进行内存垃圾回收的情况下,返回至步骤S102。
在步骤S404之后,在进行内存垃圾回收的情况下,返回至步骤S102。
在本实施例中,在应用程序总物理内存用量小于应用程序总物理内存用量警戒阈值的情况下,表明应用程序占用的内存资源较多,会轻微影响系统的运行,因此,需要执行轻度垃圾回收策略。
在本实施例中,在本实施例中,对应用程序总物理内存用量进行进一步判断,从而实施更为精准有效地内存回收策略(即垃圾回收策略)。
图5是根据本申请实施例的内存监测和回收方法的流程图(五)。如图5所示,在应用程序总物理内存用量未达到第二预设阈值的情况下,该方法还包括:
步骤S502、判断是否进行系统缓存清理;
步骤S504、在进行系统缓存清理的情况下,生成系统缓存清理指令。
在本实施例中,云端作为执行主体执行上述步骤。
在一般情况下,当系统内存不足时,操作系统会进行缓存清理,从而让可用物理内存增加。但是,在一些嵌入式平台中,操作系统并不会进行缓存清理,导致物理内存无法增加。
因此,在上述情况下,云端会在应用程序总物理内存用量大于应用程序总物理内存用量低阈值的情况下,进行系统缓存清理,从而释放物理内存。
图6是根据本申请实施例的内存监测和回收方法的流程图(六)。如图6所示,在系统剩余可用物理内存用量未达到第一预设阈值、且在应用程序总物理内存用量未达到第二预设阈值的情况下,判断是否进行内存垃圾回收包括:
步骤S602、在系统剩余可用物理内存用量达到第五预设阈值的情况下,判断是否进行内存垃圾回收;
步骤S604、在进行内存垃圾回收的情况下,生成内存垃圾回收指令,其中,内存垃圾回收指令包括第三垃圾回收策略。
在步骤S602中,第五预设阈值处于第一预设阈值与第三预设阈值之间,即第五预设阈值小于第一预设阈值且大于第三预设阈值。
在本实施例中,云端作为执行主体执行上述步骤。
在其中的一些实施例中,第五预设阈值可以有多个,即在第一预设阈值与第三预设阈值之间设置多个第五预设阈值,从而形成多级梯度判断,更加动态地进行内存垃圾回收。
在步骤S604中,第三垃圾回收策略为处于第一垃圾回收策略与第二垃圾回收策略之间的策略,即第三垃圾回收策略为中度垃圾回收策略。
在步骤S602之后,在不进行内存垃圾回收的情况下,返回至步骤S102。
在步骤S604之后,在进行内存垃圾回收的情况下,返回至步骤S102。
图7是根据本申请实施例的内存监测和回收方法的流程图(七)。如图7所示,在系统剩余可用物理内存用量达到第五预设阈值的情况下,判断是否进行内存垃圾回收包括:
步骤S702、在应用程序总物理内存用量达到第六预设阈值的情况下,判断是否进行内存垃圾回收;
步骤S704、在进行内存垃圾回收的情况下,生成内存垃圾回收指令,其中,内存垃圾回收指令包括第三垃圾回收策略。
在本实施例中,云端作为执行主体执行上述步骤。
在步骤S702中,第六预设阈值处于第二预设阈值与第四预设阈值之间,即第六预设阈值大于第二预设阈值且小于第四预设阈值。
在其中的一些实施例中,第六预设阈值可以有多个,即在第二预设阈值与第四预设阈值之间设置多个六预设阈值,从而形成多级梯度判断,更加动态地进行内存垃圾回收。
在步骤S704中,第三垃圾回收策略为处于第一垃圾回收策略与第二垃圾回收策略之间的策略,即第三垃圾回收策略为中度垃圾回收策略。
在步骤S702之后,在不进行内存垃圾回收的情况下,返回至步骤S102。
在步骤S704之后,在进行内存垃圾回收的情况下,返回至步骤S102。
图8是根据本申请实施例的内存监测和回收方法的流程图(八)。如图8所示,一种内存监测和回收方法包括:
步骤S802、上传系统剩余可用物理内存用量、应用程序总物理内存用量;
步骤S804、获取内存判断策略;
步骤S806、根据内存判断策略,判断系统剩余可用物理内存用量是否达到第一预设阈值;
步骤S808、在系统剩余可用物理内存用量未达到第一预设阈值的情况下,根据内存判断策略,判断应用程序总物理内存用量是否达到第二预设阈值;
步骤S810、在应用程序总物理内存用量未达到第二预设阈值的情况下,获取内存垃圾回收指令,其中,内存垃圾回收指令包括第一垃圾回收策略或第二垃圾回收策略;
步骤S812、在获取内存垃圾回收指令的情况下,执行第一垃圾回收策略或第二垃圾回收策略。
在本实施例中,本地执行端作为执行主体执行上述步骤。
在步骤S802中,本地执行端将系统剩余可用物理内存用量、应用程序总物理内存用量上传至云端。
在步骤S802中,其可以定时上传系统剩余可用物理内存用量、应用程序总物理内存用量,也可以实时上传系统剩余可用物理内存用量、应用程序总物理内存用量。一般而言,为了减少负载以及数据传输量,通常是定时上传系统剩余可用物理内存用量、应用程序总物理内存用量。
在步骤S804中,本地执行端从云端获取内存判断策略。
在步骤S806中,判断系统剩余可用物理内存用量是否达到第一预设阈值是指判断系统剩余可用物理内存用量是否充足,即第一预设阈值是指系统剩余可用物理内存用量充足阈值。
在步骤S808中,系统剩余可用物理内存用量未达到第一预设阈值是指系统剩余可用物理内存用量不充足,即系统剩余可用物理内存用量小于系统剩余可用物理内存用量充足阈值。
具体地,系统剩余可用物理内存用量未达到第一预设阈值指系统剩余可用物理内存用量小于第一预设阈值,系统剩余可用物理内存用量达到第一预设阈值是指系统剩余可用物理内存用量大于等于第一预设阈值。
在步骤S808中,判断应用程序总物理内存用量是否达到第二预设阈值是指判断应用程序总物理内存用量是否较低,即第二预设阈值是指应用程序总物理内存用量低阈值。
在步骤S810中,本地执行端从云端获取内存垃圾回收指令。
在步骤S810中,应用程序总物理内存用量未达到第二预设阈值是指应用程序总物理内存用量较高,即应用程序总物理内存用量大于应用程序总物理内存用量低阈值。
具体地,应用程序总物理内存用量未达到第二预设阈值是指应用程序总物理内存用量大于第二预设阈值,应用程序总物理内存用量达到第二预设阈值是指应用程序总物理内存用量小于等于第二预设阈值。
此外,在步骤S806之后,在系统剩余可用物理内存用量达到第一预设阈值的情况下,返回步骤S802。
在步骤S808之后,在应用程序总物理内存用量达到第二预设阈值的情况下,返回步骤S802。
在步骤S812之后,在进行内存垃圾回收的情况下,返回步骤S802。
在本实施例中,本地执行端不对内存用量进行分析判断,减少本地执行端的工作量,也不存储内存回收策略(即第一垃圾回收策略、第二垃圾回收策略),将固定的内存回收策略变为实时动态更新的内存回收策略,提高了内存监测的灵活性。
图9是根据本申请实施例的内存监测和回收方法的流程图(九)。如图9所示,在应用程序总物理内存用量未达到第二预设阈值的情况下,获取内存垃圾回收指令包括:
步骤S902、在应用程序总物理内存用量未达到第二预设阈值的情况下,根据内存判断策略,判断系统剩余可用物理内存用量是否达到第三预设阈值;
步骤S904、在系统剩余可用物理内存用量达到第三预设阈值的情况下,获取内存垃圾回收指令,其中,内存垃圾回收指令包括第一垃圾回收策略;
步骤S906、在获取内存垃圾回收指令的情况下,执行第一垃圾回收策略。
在本实施例中,本地执行端作为执行主体执行上述步骤。
在步骤S902中,判断系统剩余可用物理内存用量是否达到第三预设阈值是指判断系统剩余可用物理内存用量是否极低,即第三预设阈值是指系统剩余可用物理内存用量警戒阈值。
在步骤S904中,系统剩余可用物理内存用量达到第三预设阈值是指系统剩余可用物理内存用量极低,即系统剩余可用物理内存用量小于系统剩余可用物理内存用量警戒阈值。
具体地,系统剩余可用物理内存用量达到第三预设阈值指系统剩余可用物理内存用量小于等于第三预设阈值,系统剩余可用物理内存用量未达到第三预设阈值是指系统剩余可用物理内存用量大于第三预设阈值。
其中,在步骤S902之后,在系统剩余可用内存用量未达到第三预设阈值的情况下,返回至步骤S802。
其中,在步骤S906之后,在执行第一垃圾回收策略之后返回至步骤S802。
对于本实施例,其相关内容和技术效果如步骤S202~步骤S204所述,在此不再赘述。
图10是根据本申请实施例的内存监测和回收方法的流程图(十)。如图10所示,在判断系统剩余可用物理内存用量是否达到第三预设阈值之后,该方法还包括:
步骤S1002、在系统剩余可用物理内存用量未达到第三预设阈值的情况下,根据内存判断策略,判断应用程序总物理内存用量是否达到第四预设阈值;
步骤S1004、在应用程序总物理内存用量达到第四预设阈值的情况下,获取内存垃圾回收指令,其中,内存垃圾回收指令包括第一垃圾回收策略;
步骤S1006、在获取内存垃圾回收指令的情况下,执行第一垃圾回收策略。
在本实施例中,本地执行端作为执行主体执行上述步骤。
其中,在步骤S1002中,判断应用程序总物理内存用量是否达到第四预设阈值是指应用程序总物理内存用量是否极高,即第四预设阈值是应用程序总物理内存用量警戒阈值。
在步骤S1004中,应用程序总物理内存用量达到第四预设阈值是指应用程序总物理内存用量极高,即应用程序总物理内存用量大于等于应用程序总物理内存用量警戒阈值。
具体地,应用程序总物理内存用量达到第四预设阈值是指应用程序总物理内存用量大于等于第四预设阈值,应用程序总物理内存用量未达到第四预设阈值是指应用程序总物理内存用量小于第四预设阈值。
其中,在步骤S1002之后,在应用程序总物理内存用量未达到第四预设阈值的情况下,返回步骤S802。
在步骤S1006之后,在执行第一垃圾回收策略之后,返回至步骤S802。
对于本实施例,其相关内容和技术效果如步骤S302~步骤S304所述,在此不再赘述。
图11是根据本申请实施例的内存监测和回收方法的流程图(十一)。如图11所示,在判断应用程序总物理内存用量是否达到第四预设阈值之后,该方法还包括:
步骤S1102、在应用程序总物理内存用量未达到第四预设阈值的情况下,获取内存垃圾回收指令,其中,内存垃圾回收指令包括第二垃圾回收策略;
步骤S1104、在获取内存垃圾回收指令的情况下,执行第二垃圾回收策略。
在本实施例中,本地执行端作为执行主体执行上述步骤。
此外,在步骤S1104之后,在执行第二垃圾回收策略之后,返回至步骤S802。
对于本实施例,其相关内容和技术效果如步骤S402~步骤S404所述,在此不再赘述。
图12是根据本申请实施例的内存监测和回收方法的流程图(十二)。如图12所示,在应用程序总物理内存用量未达到第二预设阈值的情况下,该方法还包括:
步骤S1202、获取系统缓存清理指令;
步骤S1204、在获取系统缓存清理指令的情况下,执行系统缓存清理指令。
在本实施例中,本地执行端作为执行主体执行上述步骤。
对于本实施例,其相关内容和技术效果如步骤S502~步骤S504所述,在此不再赘述。
图13是根据本申请实施例的内存监测和回收方法的流程图(十三)。如图13所示,在应用程序总物理内存用量未达到第二预设阈值的情况下,获取内存垃圾回收指令包括:
步骤S1302、在应用程序总物理内存用量未达到第二预设阈值的情况下,根据内存判断策略,判断系统剩余可用物理内存用量是否达到第五预设阈值;
步骤S1304、在系统剩余可用物理内存用量达到第五预设阈值的情况下,获取内存垃圾回收指令,其中,内存垃圾回收指令包括第三垃圾回收策略;
步骤S1306、在获取内存垃圾回收指令的情况下,执行第三垃圾回收策略。
在本实施例中,本地执行端作为执行主体执行上述步骤。
在步骤S1302中,判断系统剩余可用物理内存用量是否达到第五预设阈值是指判断系统剩余可用物理内存用量是否低,即系统剩余可用物理内存用量低于第一预设阈值,但高于第三预设阈值。
在其中的一些实施例中,第五预设阈值可以有多个,即在第一预设阈值与第三预设阈值之间设置多个第五预设阈值,从而形成多级梯度判断,更加动态地进行内存垃圾回收。
在步骤S1304中,系统剩余可用物理内存用量达到第五预设阈值是指系统剩余可用物理内存用量低。
具体地,系统剩余可用物理内存用量达到第五预设阈值指系统剩余可用物理内存用量小于等于第五预设阈值,系统剩余可用物理内存用量未达到第五预设阈值是指系统剩余可用物理内存用量大于第五预设阈值。
在步骤S1306中,第三垃圾回收策略为处于第一垃圾回收策略与第二垃圾回收策略之间的策略,即第三垃圾回收策略为中度垃圾回收策略。
其中,在步骤S1302之后,在系统剩余可用内存用量未达到第五预设阈值的情况下,返回至步骤S802。
其中,在步骤S1306之后,在执行第三垃圾回收策略之后返回至步骤S802。
对于本实施例,其相关内容和技术效果如步骤S602~步骤S604所述,在此不再赘述。
图14是根据本申请实施例的内存监测和回收方法的流程图(十四)。如图14所示,在系统剩余可用物理内存用量达到第五预设阈值的情况下,判断是否进行内存垃圾回收包括:
步骤S1402、在系统剩余可用物理内存用量未达到第五预设阈值的情况下,根据内存判断策略,判断应用程序总物理内存用量是否达到第六预设阈值;
步骤S1404、在应用程序总物理内存用量达到第六预设阈值的情况下,获取内存垃圾回收指令,其中,内存垃圾回收指令包括第三垃圾回收策略;
步骤S1406、在获取内存垃圾回收指令的情况下,执行第三垃圾回收策略。
在本实施例中,本地执行端作为执行主体执行上述步骤。
在步骤S1402中,判断应用程序总物理内存用量是否达到第六预设阈值是指应用程序总物理内存用量是否高,即应用程序总物理内存用量高于第二预设阈值,但小于第四预设阈值。
在其中的一些实施例中,第六预设阈值可以有多个,即在第二预设阈值与第四预设阈值之间设置多个第六预设阈值,从而形成多级梯度判断,更加动态地进行内存垃圾回收。
在步骤S1404中,应用程序总物理内存用量达到第六预设阈值是指应用程序总物理内存用量高。
具体地,应用程序总物理内存用量达到第六预设阈值是指应用程序总物理内存用量大于等于第六预设阈值,应用程序总物理内存用量未达到第六预设阈值是指应用程序总物理内存用量小于第六预设阈值。
在步骤S1406中,第三垃圾回收策略为处于第一垃圾回收策略与第二垃圾回收策略之间的策略,即第三垃圾回收策略为中度垃圾回收策略。
其中,在步骤S1402之后,在应用程序总物理内存用量未达到第六预设阈值的情况下,返回至步骤S802。
其中,在步骤S1406之后,在执行第三垃圾回收策略之后返回至步骤S802。
对于本实施例,其相关内容和技术效果如步骤S702~步骤S704所述,在此不再赘述。图15是根据本申请实施例的内存监测和回收方法的流程图(十五)。如图15所示,在上传系统剩余可用物理内存用量、应用程序总物理内存用量之前,还包括:
步骤S1502、获取应用程序的状态信息;
步骤S1504、在应用程序被启动的情况下,安装内存监测定时器;
步骤S1506、唤醒内存监测定时器。
在本实施例中,本地执行端作为执行主体执行上述步骤。
在步骤S1502中,应用程序的状态信息包括但不限于应用程序启动信息、应用程序常驻后台信息以及应用程序关闭信息。
在步骤S1504中,安装内存监测定时器的作用是用于获取系统及应用程序的内存状态。
在步骤S1506中,只有在唤醒内存监测定时器的情况下,才进行内存状态扫描,以获取系统及应用程序的内存状态,包括但不限于:
系统剩余可用物理内存(MemFree);
应用程序各个进程按比例分配共享库所占用的物理内存(Pss),以及按比例分配所占的SWAP页(SwapPss);
将应用程序各进程的Pss与SwapPss求和,得到其总物理内存用量。
图16是根据本申请实施例的内存监测和回收方法的流程图(十六)。如图16所示,在唤醒内存监测定时器之后,该方法还包括:
步骤S1602、在进行内存垃圾回收或不进行垃圾回收之后,再次唤醒内存监测定时器。
在本实施例中,本地执行端作为执行主体执行上述步骤。
在本实施例中,无论本地执行端是否进行内存垃圾回收,均要再次唤醒内存监测定时器进行内存状态扫描,从而完成内存状态实时监测的目的。
图17是根据本申请实施例的内存监测和回收方法的流程图(十七)。如图17所示,在安装内存监测定时器之后,该方法还包括:
步骤S1702、设置唤醒时间序列;
步骤S1704、按照唤醒时间序列,定时唤醒内存监测定时器。
在本实施例中,本地执行端作为执行主体执行上述步骤。
在本实施例中,唤醒时间序列用于设定内存监测定时器被唤醒的时间,即可以通过设置唤醒间隔时间以达到定时唤醒内存监测定时器的目的,在实时监测和降低工作载荷中取得平衡,确保系统、应用程序可以正常流畅运行。
图18是根据本申请实施例的内存监测和回收系统的结构框图。如图18所示,内存监测和回收系统包括:
本地执行端1810,用于获取系统剩余可用物理内存用量、应用程序总物理内存用量;
云端1820,用于接收本地执行端1810传输的系统剩余可用物理内存用量、应用程序总物理内存用量,以及生成内存判断策略;
本地执行端1810还用于接收云端1820传输的内存判断策略,并判断系统剩余可用物理内存用量是否达到第一预设阈值、应用程序总物理内存用量是否达到第二预设阈值;
云端1820还用于在系统剩余可用物理内存用量未达到第一预设阈值、且应用程序总物理内存用量未达到第二预设阈值的情况下,判断是否进行内存垃圾回收;在进行内存垃圾回收的情况下生成内存垃圾回收指令,其中,内存垃圾回收指令包括第一垃圾回收策略或第二垃圾回收策略;
本地执行端1810还用于接收云端1820传输的内存垃圾回收指令,并执行第一垃圾回收策略或第二垃圾回收策略。
在其中的一些实施例中,在应用程序总物理内存用量未达到第二预设阈值的情况下,本地执行端1810还用于判断系统剩余可用物理内存用量是否达到第三预设阈值;在系统剩余可用物理内存用量达到第三预设阈值的情况下,云端1820还用于判断是否进行内存垃圾回收;在进行内存垃圾回收的情况下,云端1820生成内存垃圾回收指令,其中,内存垃圾回收指令包括第一垃圾回收策略;
本地执行端1810还用于接收云端1820传输的内存垃圾回收指令,并执行第一垃圾回收策略。
在其中的一些实施例中,在应用程序总物理内存用量未达到第二预设阈值的情况下,本地执行端1810还用于判断系统剩余可用物理内存用量是否达到第三预设阈值;在系统剩余可用物理内存用量未达到第三预设阈值的情况下,本地执行端还用于判断应用程序总物理内存用量是否达到第四预设阈值;在应用程序总物理内存用量达到第四预设阈值的情况下,云端1820还用于判断是否进行内存垃圾回收;在进行内存垃圾回收的情况下,云端1820生成内存垃圾回收指令,其中,内存垃圾回收指令包括第一垃圾回收策略;
本地执行端1810还用于接收云端1820传输的内存垃圾回收指令,并执行第一垃圾回收策略。
在其中的一些实施例中,在应用程序总物理内存用量未达到第二预设阈值的情况下,本地执行端1810还用于判断系统剩余可用物理内存用量是否达到第三预设阈值;在系统剩余可用物理内存用量未达到第三预设阈值的情况下,本地执行端1810还用于判断应用程序总物理内存用量是否达到第四预设阈值;在应用程序总物理内存用量未达到第四预设阈值的情况下,云端1820还用于判断是否进行内存垃圾回收;在进行内存垃圾回收的情况下,云端1820生成内存垃圾回收指令,其中,内存垃圾回收指令包括第二垃圾回收策略;
本地执行端1810还用于接收云端1820传输的内存垃圾回收指令,并执行第二垃圾回收策略。
在其中的一些实施例中,在应用程序总物理内存用量未达到第二预设阈值的情况下,本地执行端1810还用于判断系统剩余可用物理内存用量是否达到第五预设阈值;在系统剩余可用物理内存用量达到第五预设阈值的情况下,云端1820还用于判断是否进行内存垃圾回收;在进行内存垃圾回收的情况下,云端1820生成内存垃圾回收指令,其中,内存垃圾回收指令包括第三垃圾回收策略;
本地执行端1810还用于接收云端1820传输的内存垃圾回收指令,并执行第三垃圾回收策略。
在其中的一些实施例中,在应用程序总物理内存用量未达到第二预设阈值的情况下,本地执行端1810还用于判断系统剩余可用物理内存用量是否达到第五预设阈值;在系统剩余可用物理内存用量未达到第五预设阈值的情况下,本地执行端1810还用于判断应用程序总物理内存用量是否达到第六预设阈值;在应用程序总物理内存用量达到第六预设阈值的情况下,云端1820还用于判断是否进行内存垃圾回收;在进行内存垃圾回收的情况下,云端1820生成内存垃圾回收指令,其中,内存垃圾回收指令包括第三垃圾回收策略;
本地执行端1810还用于接收云端1820传输的内存垃圾回收指令,并执行第三垃圾回收策略。
在其中的一些实施例中,本地执行端1810还用于上传系统缓存;
云端1820还用于接收本地执行端1810传输的系统缓存,并判断是否进行系统缓存清理;在进行系统缓冲清理的情况下,生成系统缓存清理指令;
本地执行端1810还用于接收云端1820传输的系统缓存清理指令,并执行系统缓存清理指令。
在其中的一些实施例中,本地执行端1810与云端1820进行通信连接。其中,通信连接通过网络1830进行连接,可以是有线网络连接,也可以是无线网络连接。在其中的一些实施例中,网络1830可以可以包括公共网络(例如,因特网)、专用网络(例如,局域网(LAN)、广域网(WAN)等)、无线网络(例如,802.11网络、Wi-Fi网络等)、蜂窝网络(例如,4G网络、5G网络等)、帧中继网络、虚拟专用网络(VPN)、卫星网络、路由器、集线器、交换机、服务器等或者其任意组合。仅作为示例,网络1430可包括电缆网络、有线网络、光纤网络、电信网络、内联网、无线局域网(WLAN)、城域网(MAN)、公共电话交换网(PSTN)等或者其任意组合。在一些实施例中,网络1830可包括一个或多个网络接入点。例如,网络1830可包括有线和/或无线网络接入点,诸如基站和/或因特网交换点,内存监测和回收系统的各个装置可通过这些接入点连接到网络以交换信息和/或数据。
在其中的一些实施例中,本地执行端1810包括:
内存监测模块,用于获取系统剩余可用物理内存用量、应用程序总物理内存用量,并传输至云端1820;
策略控制模块,与内存监测模块通信连接,用于获取云端1820传输的内存垃圾回收指令,其中,内存垃圾回收指令包括第一垃圾回收策略或第二垃圾回收策略;
垃圾回收模块,与策略控制模块通信连接,用于获取策略控制模块传输的第一垃圾回收策略或第二垃圾回收策略,执行第一垃圾回收策略或第二垃圾回收策略。
另外,本申请实施例的内存监测和回收方法可以由计算机设备来实现。计算机设备的组件可以包括但不限于处理器以及存储有计算机程序指令的存储器。
在一些实施例中,处理器可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
在一些实施例中,存储器可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(Solid State Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(UniversalSerial Bus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器可在数据处理装置的内部或外部。在特定实施例中,存储器是非易失性(Non-Volatile)存储器。在特定实施例中,存储器包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(ErasableProgrammable Read-Only Memory,简称为EPROM)、电可擦除PROM(Electrically ErasableProgrammable Read-Only Memory,简称为EEPROM)、电可改写ROM(ElectricallyAlterable Read-Only Memory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-AccessMemory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode DynamicRandom Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(ExtendedDate Out Dynamic Random Access Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器所执行的可能的计算机程序指令。
处理器通过读取并执行存储器中存储的计算机程序指令,以实现上述实施例中的任意一种内存监测和回收方法。
在其中一些实施例中,计算机设备还可包括通信接口和总线。其中,处理器、存储器、通信接口通过总线连接并完成相互间的通信。
通信接口用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信接口还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。总线包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(ControlBus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(FrontSide Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SerialAdvancedTechnologyAttachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandardsAssociation Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
另外,结合上述实施例中的内存监测和回收方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种内存监测和回收方法。
图19是根据本申请实施例的内存监测和回收系统的具体应用实施方式的结构框图。如图19所示,内存监测和回收系统包括服务端(云端)和应用程序(本地执行端),应用程序上传内存监测数据至服务端,服务端根据内存监测数据生成内存回收策略并传输至应用程序,使应用程序执行内存回收策略。
具体地,应用程序的内存监控装置包含内存监测器、策略控制器和垃圾回收器,以及云端用于接收内存监测数据、下发内存回收策略的服务器。
内存监测器以定时器触发,每隔一段时间会执行一次内存状态扫描,采集当前系统的剩余可用内存物理内存,以及应用程序各个进程按比例分配共享库占用的物理内存(PSS),求和得到应用程序的总物理内存用量。
策略控制器负责从服务端获取内存策略并实施,根据当前的内存压力状态,通知垃圾回收器,执行不同级别的垃圾回收。
策略控制器从服务端获取的内存回收策略包括以下内容:
不同内存压力等级下,垃圾回收器的行为策略,包括回收内容(比如是否清理网络缓存,图片缓存、字体缓存等等)和回收力度(比如是彻底清除某类缓存还是按百分比来清除)等;
各个内存压力等级,所对应的内存水位(阈值),包括系统剩余可用物理内存阈值,以及应用程序总物理内存用量阈值。
垃圾回收器负责按照策略控制器计算得到的内存压力级别,执行相应级别的垃圾回收。垃圾回收级别及相应的回收操作细则由策略控制器从服务器端获取。
服务端收集客户端的内存监测数据并实时统计,计算得到客户端数量按物理内存占用大小的分布图,根据百分位数来定义不同的内存压力等级。策略控制器定期从服务端获取各内存压力等级下的水位值,以及相应的内存回收策略。
图20是根据本申请实施例的内存监测和回收方法的具体应用实施方式的流程图。如图20所示,内存监测和回收方法包括:
步骤S2001、应用程序启动后安装内存监测定时器;(本地执行端)
步骤S2002、内存监测定时器被唤醒;(本地执行端)
步骤S2003、获取系统及应用程序的内存状态;(本地执行端)
步骤S2004、判断系统剩余可用物理内存是否充足;(本地执行端)
步骤S2005、在系统剩余可用物理内存不充足的情况下,判断应用程序总物理内存用量是否较低;(本地执行端)
步骤S2006、在应用程序总物理内存用量不低的情况下,判断是否清理系统cache;(本地执行端)
步骤S2007、无论是否清理系统cache的情况下,判断系统剩余可用物理内存是否极低;(本地执行端)
步骤S2008、在系统剩余可用物理内存极低的情况下,判断是否启用垃圾回收;(本地执行端)
步骤S2009、在启用垃圾回收的情况下,通知垃圾回收器,并使垃圾回收器执行重度的垃圾回收策略,返回步骤S2002;(本地执行端)
步骤S2010、在不启用垃圾回收的情况下,返回步骤S2002;(本地执行端)
步骤S2011、在系统剩余可用物理内存不低的情况下,判断应用程序总物理内存用量是否极高;(本地执行端)
步骤S2012、在应用程序总物理内存用量极高的情况下,判断是否启用垃圾回收;(本地执行端)
步骤S2013、在启用垃圾回收的情况下,通知垃圾回收器,并使垃圾回收器执行重度的垃圾回收策略,返回步骤S2002;(本地执行端)
步骤S2014、在不启用垃圾回收的情况下,在返回步骤S2002;(本地执行端)
步骤S2015、在应用程序总物理内存用量不高的情况下,判断是否启用垃圾回收;(本地执行端);
步骤S2016、在启用垃圾回收的情况下,通知垃圾回收器,并使垃圾回收器执行轻度的垃圾回收策略,返回步骤S2002;(本地执行端)
步骤S2017、在不启用垃圾回收的情况下,返回步骤S2002。(本地执行端)
其中,本地执行端的判断依据均由云端下发,重度的垃圾回收策略以及轻度的垃圾回收策略也是由云端下发。
针对上述实施方式,列举一实际实施例,如下:
设置两个内存压力等级,对应的内存水位(阈值)分别为:
Level 1(内存使用适度):
系统剩余可用的物理内存50MB
应用程序总物理内存用量200MB;
Level 2(内存状态危急):
系统剩余可用的物理内存20MB
应用程序总物理内存用量300MB。
具体简要步骤如下:
应用程序启动后,启动内存检测器定时器;
定时器被唤醒后,执行内存状态扫描,计算得到系统剩余可以用的物理内存为30MB,应用程序物理内存占用为350MB;
定时器将上述测量数据传递到策略管理器,策略管理器通过对比各个内存压力等级的水位值:
从系统剩余内存角度,当前剩余30MB,在20MB与50MB之间,判定其处于Level 1级别;
从应用程序物理内存用量角度,当前物理内存耗用350MB,超过了300MB,判定其处于Level 2级别;
综合上面两个角度,判定应用程序的内存压力级别处于Level 2级别;
策略管理器通知垃圾回收器,执行Level 2级别的垃圾回收。
在本申请实施例中,内存监测和回收系统及内存监测和回收方法具有以下特点:
应用程序的主进程启动后安装定时器,定期采集系统剩余可用物理内存,以及各个进程实际使用的物理内存,计算得到应用程序的总物理内存占用;
应用程序综合其总物理内存用量和系统剩余可用内存用量等信息来界定应用的内存压力等级,以实施不同程度的垃圾回收策略;
应用程序通过网络定期向服务器端上报内存状态统计数据,并接收各个内存压力等级的阈值和相应的垃圾回收策略信息。服务端可以精确掌控客户端的内存状态。
在本实施方式中,内存监测和回收系统可以让单进程和多进程的应用程序都能够在运行时精确地统计计算出其总物理内存占用,并实施实时、精确、灵活的内存监控。
服务端实时采集应用程序的内存数据,通过统计得到应用程序总物理内存占用的分布情况,指导应用程序进行合理的垃圾回收工作,通过下发策略灵活地控制应用程序的垃圾回收行为。
应用程序根据其总物理内存用量以及系统剩余可用物理内存等数据,结合内存压力阈值,判断当前的内存压力等级,来实施相应级别的cache清理(缓存清理)、垃圾回收等内存策略。以降低应用由于内存占用过高,在系统剩余可用内存不足的情况下被杀掉的几率,提升应用程序的稳定性和鲁棒性。
与相关技术相比,本申请在传统的内存监控方法的基础上,新增了将内存检测数据上报到云端,并从云端获取内存策略的机制。即内存策略不是直接存储在客户端(本地),而是变为可动态更新的,大大地增强了内存监测的灵活性。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种内存监测和回收方法,其特征在于,包括:
获取系统剩余可用物理内存用量、应用程序总物理内存用量;
在所述系统剩余可用物理内存用量小于第一预设阈值、且在所述应用程序总物理内存用量大于第二预设阈值的情况下,判断是否进行内存垃圾回收;
在进行所述内存垃圾回收的情况下,生成内存垃圾回收指令,其中,所述内存垃圾回收指令包括第一垃圾回收策略或第二垃圾回收策略;
其中,在所述系统剩余可用物理内存用量小于第一预设阈值、且在所述应用程序总物理内存用量大于第二预设阈值的情况下,判断是否进行内存垃圾回收包括:
在所述系统剩余可用物理内存用量小于等于第三预设阈值的情况下,判断是否进行内存垃圾回收;
在进行所述内存垃圾回收的情况下,生成内存垃圾回收指令,其中,所述内存垃圾回收指令包括第一垃圾回收策略;
或
在所述系统剩余可用物理内存用量大于第三预设阈值的情况、且在所述应用程序总物理内存用量大于等于第四预设阈值的情况下,判断是否进行内存垃圾回收;
在进行所述内存垃圾回收的情况下,生成内存垃圾回收指令,其中,所述内存垃圾回收指令包括第一垃圾回收策略;
或
在所述系统剩余可用物理内存用量大于第三预设阈值、在所述应用程序总物理内存用量小于第四预设阈值的情况下,判断是否进行内存垃圾回收;
在进行所述内存垃圾回收的情况下,生成内存垃圾回收指令,其中,所述内存垃圾回收指令包括第二垃圾回收策略。
2.根据权利要求1所述的内存监测和回收方法,其特征在于,在所述应用程序总物理内存用量大于第二预设阈值的情况下,还包括:
判断是否进行系统缓存清理;
在进行所述系统缓存清理的情况下,生成系统缓存清理指令。
3.一种内存监测和回收方法,其特征在于,包括:
上传系统剩余可用物理内存用量、应用程序总物理内存用量;
获取内存判断策略;
根据所述内存判断策略,判断所述系统剩余可用物理内存用量是否大于等于第一预设阈值;
在所述系统剩余可用物理内存用量小于所述第一预设阈值的情况下,根据内存判断策略,判断所述应用程序总物理内存用量是否小于等于第二预设阈值;
在所述应用程序总物理内存用量大于所述第二预设阈值的情况下,获取内存垃圾回收指令,其中,所述内存垃圾回收指令包括第一垃圾回收策略或第二垃圾回收策略;
在获取所述内存垃圾回收指令的情况下,执行所述第一垃圾回收策略或所述第二垃圾回收策略;
其中,在所述应用程序总物理内存用量大于第二预设阈值的情况下,获取内存垃圾回收指令包括:
在所述应用程序总物理内存用量大于第二预设阈值的情况下,根据所述内存判断策略,判断所述系统剩余可用物理内存用量是否小于等于第三预设阈值;
在所述系统剩余可用物理内存用量小于等于所述第三预设阈值的情况下,获取内存垃圾回收指令,其中,所述内存垃圾回收指令包括第一垃圾回收策略;
在获取所述内存垃圾回收指令的情况下,执行所述第一垃圾回收策略;
或
在所述应用程序总物理内存用量大于第二预设阈值的情况下,根据所述内存判断策略,判断所述系统剩余可用物理内存用量是否小于等于第三预设阈值;
在所述系统剩余可用物理内存用量大于所述第三预设阈值的情况下,根据所述内存判断策略,判断所述应用程序总物理内存用量是否大于等于第四预设阈值;
在所述应用程序总物理内存用量大于等于所述第四预设阈值的情况下,获取内存垃圾回收指令,其中,所述内存垃圾回收指令包括第一垃圾回收策略;
在获取所述内存垃圾回收指令的情况下,执行所述第一垃圾回收策略;
或
在所述应用程序总物理内存用量大于第二预设阈值的情况下,根据所述内存判断策略,判断所述系统剩余可用物理内存用量是否小于等于第三预设阈值;
在所述系统剩余可用物理内存用量大于所述第三预设阈值的情况下,根据所述内存判断策略,判断所述应用程序总物理内存用量是否大于等于第四预设阈值;
在所述应用程序总物理内存用量小于所述第四预设阈值的情况下,获取内存垃圾回收指令,其中,所述内存垃圾回收指令包括第二垃圾回收策略;
在获取所述内存垃圾回收指令的情况下,执行所述第二垃圾回收策略。
4.根据权利要求3所述的内存监测和回收方法,其特征在于,在所述应用程序总物理内存用量大于所述第二预设阈值的情况下,所述方法还包括:
获取系统缓存清理指令;
在获取系统缓存清理指令的情况下,执行所述系统缓存清理指令。
5.根据权利要求3所述的内存监测和回收方法,其特征在于,在上传系统剩余可用物理内存用量、应用程序总物理内存用量之前,还包括:
获取应用程序的状态信息;
在所述应用程序被启动的情况下,安装内存监测定时器;
唤醒所述内存监测定时器。
6.一种内存监测和回收系统,应用如权利要求1~5任一所述的内存监测和回收方法,其特征在于,包括:
本地执行端,用于获取系统剩余可用物理内存用量、应用程序总物理内存用量;
云端,用于接收所述本地执行端传输的所述系统剩余可用物理内存用量、所述应用程序总物理内存用量,以及生成内存判断策略;
所述本地执行端还用于接收云端传输的内存判断策略,并判断所述系统剩余可用物理内存用量是否大于等于第一预设阈值、所述应用程序总物理内存用量是否小于等于第二预设阈值;
所述云端还用于在所述系统剩余可用物理内存用量小于所述第一预设阈值、且所述应用程序总物理内存用量大于所述第二预设阈值的情况下,判断是否进行内存垃圾回收;在进行内存垃圾回收的情况下,生成内存垃圾回收指令,其中,所述内存垃圾回收指令包括第一垃圾回收策略或第二垃圾回收策略;
所述本地执行端还用于接收所述云端传输的所述内存垃圾回收指令,并执行所述第一垃圾回收策略或所述第二垃圾回收策略。
7.一种计算机设备,其特征在于,包括:
至少一个处理器;
以及与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1至5中任一项所述的内存监测和回收方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现如权利要求1至5中任一项所述的内存监测和回收方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110208352.6A CN112948208B (zh) | 2021-02-24 | 2021-02-24 | 一种内存监测和回收方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110208352.6A CN112948208B (zh) | 2021-02-24 | 2021-02-24 | 一种内存监测和回收方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112948208A CN112948208A (zh) | 2021-06-11 |
CN112948208B true CN112948208B (zh) | 2022-06-21 |
Family
ID=76246034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110208352.6A Active CN112948208B (zh) | 2021-02-24 | 2021-02-24 | 一种内存监测和回收方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112948208B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893153A (zh) * | 2016-03-31 | 2016-08-24 | 北京百纳威尔无线通信设备有限公司 | 移动终端的内存清理方法和装置 |
CN105955606A (zh) * | 2016-04-22 | 2016-09-21 | 北京金山安全软件有限公司 | 一种终端设备内存清理方法、装置及电子设备 |
CN107861812A (zh) * | 2017-10-30 | 2018-03-30 | 江西博瑞彤芸科技有限公司 | 一种内存清理方法 |
CN110018793A (zh) * | 2019-04-11 | 2019-07-16 | 苏州浪潮智能科技有限公司 | 一种主机io处理控制方法、装置、终端及可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9176869B2 (en) * | 2013-07-18 | 2015-11-03 | Globalfoundries Inc | Memory use for garbage collected computer environments |
CN104536907B (zh) * | 2015-01-26 | 2018-11-09 | 联想(北京)有限公司 | 一种内存清理方法及电子设备 |
CN105975348A (zh) * | 2016-05-31 | 2016-09-28 | 宇龙计算机通信科技(深圳)有限公司 | 一种内存优化方法、优化装置以及终端 |
CN108073520B (zh) * | 2016-11-10 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 一种内存控制方法及装置 |
CN111198759B (zh) * | 2018-11-16 | 2024-04-19 | 深圳市优必选科技有限公司 | 一种内存优化方法、系统、终端设备及可读存储介质 |
CN111966491B (zh) * | 2020-08-04 | 2023-07-21 | Oppo广东移动通信有限公司 | 统计占用内存的方法及终端设备 |
-
2021
- 2021-02-24 CN CN202110208352.6A patent/CN112948208B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893153A (zh) * | 2016-03-31 | 2016-08-24 | 北京百纳威尔无线通信设备有限公司 | 移动终端的内存清理方法和装置 |
CN105955606A (zh) * | 2016-04-22 | 2016-09-21 | 北京金山安全软件有限公司 | 一种终端设备内存清理方法、装置及电子设备 |
CN107861812A (zh) * | 2017-10-30 | 2018-03-30 | 江西博瑞彤芸科技有限公司 | 一种内存清理方法 |
CN110018793A (zh) * | 2019-04-11 | 2019-07-16 | 苏州浪潮智能科技有限公司 | 一种主机io处理控制方法、装置、终端及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112948208A (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3270287A1 (en) | Scheduling method and system for video analysis tasks | |
CN107656807B (zh) | 一种虚拟资源的自动弹性伸缩方法及装置 | |
CN113835865B (zh) | 一种任务部署方法和装置、电子设备和存储介质 | |
CN108834191B (zh) | 小区重选方法、装置、电子设备及存储介质 | |
CN111858031B (zh) | 一种集群分布式资源调度方法、装置、设备及存储介质 | |
CN117141295B (zh) | 一种新能源汽车的高压充电方法及充电站 | |
CN115277598B (zh) | 一种算力资源调度方法、装置及计算机可读存储介质 | |
CN112948208B (zh) | 一种内存监测和回收方法、系统、设备及存储介质 | |
CN114071525B (zh) | 基站优化次序确定方法、装置及存储介质 | |
CN111030256B (zh) | 一种无线传感网络充电方法、设备及存储介质 | |
CN115617532B (zh) | 一种目标追踪处理方法、系统及相关装置 | |
CN115589249B (zh) | 一种卫星切换方法、装置、电子设备及存储介质 | |
CN115941758A (zh) | 基于动态规划的云服务控制台部署方法、系统及存储介质 | |
CN110851286B (zh) | 线程管理方法、装置、电子设备及存储介质 | |
CN113132247B (zh) | 适用于分布式流量采集的管理方法、系统及存储介质 | |
CN112954728B (zh) | 一种网络厚度评估方法、装置、存储介质和计算机设备 | |
CN113923666A (zh) | 一种过覆盖基站识别方法、装置、电子设备及存储介质 | |
CN113283879A (zh) | 一种施工量的确定方法、装置、电子设备及可读存储介质 | |
CN113258679A (zh) | 基于服务器实例缩容的电网监控系统通道分配方法 | |
CN114788357A (zh) | 优先5g nsa小区(重新)选择的方法和装置 | |
CN115696466B (zh) | 一种s-nssai的优先级确定方法及装置 | |
EP4351214A1 (en) | Method for determining reselection determination parameter, and cell reselection method | |
CN108174387B (zh) | 一种ce资源调度方法及装置 | |
CN117197706B (zh) | 渐出渐入镜头的分割方法和系统、存储介质及电子设备 | |
CN117792914A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |