CN114327867B - 一种内存资源的处理方法、装置、电子设备及存储介质 - Google Patents
一种内存资源的处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114327867B CN114327867B CN202111473444.3A CN202111473444A CN114327867B CN 114327867 B CN114327867 B CN 114327867B CN 202111473444 A CN202111473444 A CN 202111473444A CN 114327867 B CN114327867 B CN 114327867B
- Authority
- CN
- China
- Prior art keywords
- memory
- module
- storage device
- detection period
- current detection
- 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
- 238000003672 processing method Methods 0.000 title abstract description 7
- 238000001514 detection method Methods 0.000 claims abstract description 60
- 238000000034 method Methods 0.000 claims abstract description 45
- 238000012544 monitoring process Methods 0.000 claims abstract description 27
- 238000012545 processing Methods 0.000 claims abstract description 22
- 230000001960 triggered effect Effects 0.000 claims abstract description 7
- 238000004891 communication Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 8
- 210000001503 joint Anatomy 0.000 claims description 8
- 230000008569 process Effects 0.000 abstract description 5
- 238000007726 management method Methods 0.000 description 26
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004083 survival effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Abstract
本申请公开了一种内存资源的处理方法、装置、电子设备及存储介质。该方法包括:接收当前检测周期内存储设备中各个模块触发的内存使用请求;基于内存使用请求,向模块分配满足内存需求的第一内存资源;监听存储设备的状态信息,在状态信息用于指示存储设备处于运行状态的情况下,读取存储设备中各个模块的内存使用信息;基于内存使用信息以及第一内存资源,生成存储设备中各个模块在当前检测周期内的内存消耗情况。本申请实施例提供的方法在分配内存资源后,监控各个模块的内存使用信息,并生成各个模块的内存消耗情况,此方式不再需要终止用户进程,从而实现了在不影响用户使用的情况下,实时统计存储设备各个模块的内存消耗情况。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种内存资源的处理方法、装置、电子设备及存储介质。
背景技术
在开发用户态应用程序中,会经常需要检测内存的占用情况,来判断是碰到内存泄漏问题,还是存在程序占用内存过大情况。目前一般使用开源的内存检测软件(如valgrind)去检测是否存在内存泄漏。但是,这种软件有个缺点就是必须终止用户进程才能输出检测结果,供后续分析是否存在内存泄露以及变量或类在申请内存后的占用情况,因此目前的检测软件无法较实时的获取内存消耗情况。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种内存资源的处理方法、装置、电子设备及存储介质。
根据本申请实施例的一个方面,提供了一种内存资源的处理方法,应用于部署在存储设备中的内存资源管理模块,所述方法包括:
接收当前检测周期内存储设备中各个模块触发的内存使用请求,其中,所述内存使用请求携带所述模块的内存需求;
基于所述内存使用请求,向所述模块分配满足所述内存需求的第一内存资源;
监听所述存储设备的状态信息,在所述状态信息用于指示所述存储设备处于运行状态的情况下,读取所述存储设备中各个模块的内存使用信息;
基于所述内存使用信息以及所述第一内存资源,生成所述存储设备中各个模块在所述当前检测周期内的内存消耗情况。
进一步的,所述监听所述存储设备的状态信息,在所述状态信息用于指示所述存储设备处于运行状态的情况下,读取所述存储设备中各个模块的内存使用信息,包括:
接收插件指令,其中,所述插件指令用于控制所述第一内存资源管理模块监听所述存储设备的状态信息;
响应于所述插件指令,检测所述存储设备是否进入目标运行环境;
在确定所述存储设备进入目标运行环境的情况下,监听所述存储设备的状态信息;
在所述状态信息用于指示所述存储设备处于运行状态的情况下,读取所述存储设备中各个模块的内存使用信息。
进一步的,所述读取所述存储设备中各个模块的内存使用信息,包括:
监听所述存储设备中各个模块对接的目标业务;
确定所述目标业务在当前检测周期内使用所述目标业务对应模块的第二内存资源;
基于所述目标业务的业务信息以及所述第二内存资源生成所述内存使用信息。
进一步的,所述监听所述存储设备中各个模块对接的目标业务,包括:
获取所述存储设备中各个模块对应的模块标识;
从业务管理器中查询所述模块标识对应的业务,并将所述模块标识对应的业务确定为所述模块标识对应模块在当前检测周期内对接的目标业务,其中,所述业务管理器中包括模块标识与业务之间的对应关系。
进一步的,所述基于所述内存使用信息以及所述第一内存资源,生成所述存储设备中各个模块在所述当前检测周期内的内存消耗情况,包括:
基于所述第二内存资源与所述第一内存资源计算所述存储设备中各个模块对应的内存消耗比例;
将所述内存消耗比例确定为所述当前检测周期内的内存消耗情况。
进一步的,在基于所述内存使用信息以及所述第一内存资源,生成所述存储设备中各个模块在所述当前检测周期内的内存消耗情况之后,所述方法还包括:
对比所述存储设备中各个模块的内存消耗比例与消耗比例上限;
将所述内存消耗比例达到消耗比例上限的模块确定为目标模块;
检测所述目标模块是否存在被使用的无效内存资源;
在所述目标模块中存在被使用的无效内存资源的情况下,将所述无效内存资源从所述第二内存资源中释放。
进一步的,在基于所述内存使用信息以及所述第一内存资源,生成所述存储设备中各个模块在所述当前检测周期内的内存消耗情况之后,所述方法还包括:
获取历史检测周期对应的历史内存消耗情况,其中,所述历史内存消耗情况包括历史内存消耗比例;
对比所述历史内存消耗比例以及所述当前检测周期的内存消耗比例,确定所述存储设备中各个模块的内存消耗趋势;
根据所述内存消耗趋势确定下一检测周期向所述存储设备中各个模块分配的第三内存资源。
根据本申请实施例的另一个方面,还提供了一种内存资源的处理装置,包括:
接收模块,用于接收当前检测周期内存储设备中各个模块触发的内存使用请求,其中,所述内存使用请求携带所述模块的内存需求;
分配模块,用于基于所述内存使用请求,向所述模块分配满足所述内存需求的第一内存资源;
监听模块,用于监听所述存储设备的状态信息,在所述状态信息用于指示所述存储设备处于运行状态的情况下,读取所述存储设备中各个模块的内存使用信息;
生成模块,用于基于所述内存使用信息以及所述第一内存资源,生成所述存储设备中各个模块在所述当前检测周期内的内存消耗情况。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
根据本申请实施例的另一方面,还提供了一种电子装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的方法通过内存资源管理模块向存储设备的各个模块分配内存资源,并在分配内存资源后,监控各个模块的内存使用信息,并生成各个模块的内存消耗情况,此方式不再需要终止用户进程,从而实现了在不影响用户使用的情况下,实时统计存储设备各个模块的内存消耗情况。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种内存资源的处理方法的流程图;
图2为本申请另一实施例提供的一种内存资源的处理方法的流程图;
图3为本申请另一实施例提供的一种内存资源的处理方法的流程图;
图4为本申请实施例提供的一种内存资源的处理装置的框图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个类似的实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请实施例提供了一种内存资源的处理方法、装置、电子设备及存储介质。本发明实施例所提供的方法可以应用于任意需要的电子设备,例如,可以为服务器、终端等电子设备,在此不做具体限定,为描述方便,后续简称为电子设备。
根据本申请实施例的一方面,提供了一种内存资源的处理方法的方法实施例。图1为本申请实施例提供的一种内存资源的处理方法的流程图,如图1所示,该方法包括:
步骤S11,接收当前检测周期内存储设备中各个模块触发的内存使用请求,其中,内存使用请求携带模块的内存需求。
本申请实施例提供的方法应用于部署在存储设备中的内存资源管理模块,当存储设备运行时,存储设备内的各个模块需要从内存资源管理模块中申请内存,此时存储设备内的各个模块会向内存资源管理模块发送内存使用请求,从而使内存资源管理模块根据内存使用请求向各个模块分配内存资源。
步骤S12,基于内存使用请求,向模块分配满足内存需求的第一内存资源。
在本申请实施例中,内存资源管理模块会解析内存使用请求,从内存使用请求中解析出内存需求量,然后按照该内存需求量向模块分配第一内存资源。
步骤S13,监听存储设备的状态信息,在状态信息用于指示存储设备处于运行状态的情况下,读取存储设备中各个模块的内存使用信息。
在本申请实施例中,步骤S13,监听存储设备的状态信息,在状态信息用于指示存储设备处于运行状态的情况下,读取存储设备中各个模块的内存使用信息,包括以下步骤A1-A4:
步骤A1,接收插件指令,其中,插件指令用于控制内存资源管理模块监听存储设备的状态信息。
在本申请实施例中,内存资源管理模块在将第一内存资源分配给各个模块后,可以接收外部设备发送的插件指令,内存资源管理模块根据插件指令监听存储设备的状态信息,例如:存储设备是否在某个运行环境中运行。
步骤A2,响应于插件指令,检测存储设备是否进入目标运行环境。
在本申请实施例中,内存资源管理模块通过检测存储设备是否正在被应用程序访问,从而确定存储设备是否进入目标运行环境。
步骤A3,在确定存储设备进入目标运行环境的情况下,监听存储设备的状态信息。
在本申请实施例中,在确定存储设备进入目标运行环境后,监听存储设备是否能够正常响应来自于外部程序的访问,如果存储设备能够正常响应外部程序的访问,则确定存储设备的状态信息为运行状态。如果存储设备并不能响应外部程序的访问,则确定存储设备的状态信息为异常状态。
步骤A4,在状态信息用于指示存储设备处于运行状态的情况下,读取存储设备中各个模块的内存使用信息。
在本申请实施例中,步骤A4,读取存储设备中各个模块的内存使用信息,包括以下步骤A401-A403:
步骤A401,监听存储设备中各个模块对接的目标业务。
在本申请实施例中,步骤A401,监听存储设备中各个模块对接的目标业务,包括:获取存储设备中各个模块对应的模块标识;从业务管理器中查询模块标识对应的业务,并将模块标识对应的业务确定为模块标识对应模块在当前检测周期内对接的目标业务,其中,业务管理器中包括模块标识与业务之间的对应关系。
步骤A402,确定目标业务在当前检测周期内使用目标业务对应模块的第二内存资源。
在本申请实施例中,由于不同的目标模块会被不同的业务占用内存资源,内存资源管理模块会统计各个目标模块在当前检测周期内目标目标业务使用的第二内存资源。例如:模块m被分配的第一内存资源资源为M1,模块n被分配的第一内存资源为N1。然后内存资源管理模块统计模块m在当前检测周期内的被目标业务使用的第二内存资源M2,以及统计模块n在当前检测周期内的被目标业务使用的第二内存资源N2。
步骤A403,基于目标业务的业务信息以及第二内存资源生成内存使用信息。
在本申请实施例中,内存资源管理模块在确定各个模块被使用的第二内存资源后,读取目标业务的业务信息,例如:业务的名称,业务来源以及业务已处理时长。然后根据业务信息以及第二内存资源生成内存使用信息。
步骤S14,基于内存使用信息以及第一内存资源,生成存储设备中各个模块在当前检测周期内的内存消耗情况。
在本申请实施例中,步骤S12,基于内存使用信息以及第一内存资源,生成存储设备中各个模块在当前检测周期内的内存消耗情况,包括以下步骤B1-B2:
步骤B1,基于第二内存资源与第一内存资源计算存储设备中各个模块对应的内存消耗比例。
步骤B2,将内存消耗比例确定为当前检测周期内的内存消耗情况。
在本申请实施例中,计算第二内存资源的资源量与第一内存资源之间的资源量之间的比值,从而得到内存消耗比例,然后将内存消耗比例确定为各个模块在当前检测周期内的内存消耗情况。
本申请实施例提供的方法通过内存资源管理模块向存储设备的各个模块分配内存资源,并在分配内存资源后,监控各个模块的内存使用信息,并生成各个模块的内存消耗情况,此方式不再需要终止用户进程,从而实现了在不影响用户使用的情况下,实时统计存储设备各个模块的内存消耗情况。
图2为本申请实施例提供的一种内存资源的处理方法的流程图,如图2所示,在基于内存使用信息以及第一内存资源,生成存储设备中各个模块在当前检测周期内的内存消耗情况之后,方法还包括:
步骤S21,对比存储设备中各个模块的内存消耗比例与消耗比例上限。
在本申请实施例中,由于每个模块不同,所以用户可以预先设置每个模块的消耗比例上限,并在内存资源管理模块内置一个定时器,以使内存资源管理模块定时查询各个模块的内存消耗比例是否达到模块对应的消耗比例上限。例如:模块m消耗比例上限为P1,模块n的消耗比例上限为P2。
步骤S22,将内存消耗比例达到消耗比例上限的模块确定为目标模块。
步骤S23,检测目标模块是否存在被使用的无效内存资源。
步骤S24,在目标模块中存在被使用的无效内存资源的情况下,将无效内存资源从第二内存资源中释放。
在本申请实施例中,为了保证目标模块能够继续为不同的业务提供内存资源,内存资源管理模块将内存消耗比例到达消耗比例上限的模块确定为目标模块,目的是对目标模块中释放被无效占用的目标资源,及时保证目标模块拥有足够的内存资源。
具体的,内存资源管理模块可以查询目标模块所对接业务的生存时间,如果业务的生存时间超过当前时间但没有释放其所占用的内存资源时,则确定目标模块中存在无效内存资源,并将无效内存资源释放。
本申请实施例通过定时对比模块的内存消耗比例是否达到消耗比例上限,能够及时确定达到消耗比例上限的目标模块,并及时检测目标模块中的无效内存资源,并将无效内存释放,有效保证了目标模块的服务效率,以及保证目标模块中的内存资源及时得到释放。
在本申请实施例中,方法还包括:在目标模块中不存在被使用的无效内存资源的情况下,内存资源管理模块及时向目标模块再次分配内存资源,从而及时降低目标模块的内存消耗比例。
图3为本申请实施例提供的一种内存资源的处理方法的流程图,如图3所示,在基于内存使用信息以及第一内存资源,生成存储设备中各个模块在当前检测周期内的内存消耗情况之后,方法还包括:
步骤S31,获取历史检测周期对应的历史内存消耗情况,其中,历史内存消耗情况包括历史内存消耗比例。
步骤S32,对比历史内存消耗比例以及当前检测周期的内存消耗比例,确定存储设备中各个模块的内存消耗趋势。
步骤S33,根据内存消耗趋势确定下一检测周期向存储设备中各个模块分配的第三内存资源。
在本申请实施例中,内存资源管理模块通过统计各个模块在连续的多个历史检测周期内的历史内存消耗情况,能够确定各个模块对应的内存消耗趋势,例如:内存管理模块会基于历史内存消耗情况生成内存消耗曲线,基于该曲线能够确定内存消耗趋势呈现上升趋势或者下降趋势。
在本申请实施例中,如果内存消耗趋势呈现上升趋势,内存资源管理模块会跟据该曲线确定模块每次的递增比例,然后基于递增比例以及当前检测周期内向该模块分配的第一内存资源,计算下一检测周期向存储设备中各个模块分配的第三内存资源。以此保证了模块能够有足够的内存资源为其对接的业务提供服务,提升了模块服务效率。
图4为本申请实施例提供的一种内存资源的处理装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图4所示,该装置包括:
接收模块41,用于接收当前检测周期内存储设备中各个模块触发的内存使用请求,其中,内存使用请求携带模块的内存需求;
分配模块42,用于基于内存使用请求,向模块分配满足内存需求的第一内存资源;
监听模块43,用于监听存储设备的状态信息,在状态信息用于指示存储设备处于运行状态的情况下,读取存储设备中各个模块的内存使用信息;
生成模块44,用于基于内存使用信息以及第一内存资源,生成存储设备中各个模块在当前检测周期内的内存消耗情况。
在本申请实施例中,监听模块43,用于接收插件指令,其中,插件指令用于控制内存资源管理模块监听存储设备的状态信息;响应于插件指令,检测存储设备是否进入目标运行环境;在确定存储设备进入目标运行环境的情况下,监听存储设备的状态信息;在状态信息用于指示存储设备处于运行状态的情况下,读取存储设备中各个模块的内存使用信息。
在本申请实施例中,监听模块43,用于监听存储设备中各个模块对接的目标业务;确定目标业务在当前检测周期内使用目标业务对应模块的第二内存资源;基于目标业务的业务信息以及第二内存资源生成内存使用信息。
在本申请实施例中,监听模块43,用于获取存储设备中各个模块对应的模块标识;从业务管理器中查询模块标识对应的业务,并将模块标识对应的业务确定为模块标识对应模块在当前检测周期内对接的目标业务,其中,业务管理器中包括模块标识与业务之间的对应关系。
在本申请实施例中,生成模块44,用于基于第二内存资源与第一内存资源计算存储设备中各个模块对应的内存消耗比例;将内存消耗比例确定为当前检测周期内的内存消耗情况。
在本申请实施例中,内存资源的处理装置还包括:监控模块,用于对比存储设备中各个模块的内存消耗比例与消耗比例上限;将内存消耗比例达到消耗比例上限的模块确定为目标模块;检测目标模块是否存在被使用的无效内存资源;在目标模块中存在被使用的无效内存资源的情况下,将无效内存资源从第二内存资源中释放。
在本申请实施例中,内存资源的处理装置还包括:预测模块,用于获取历史检测周期对应的历史内存消耗情况,其中,历史内存消耗情况包括历史内存消耗比例;对比历史内存消耗比例以及当前检测周期的内存消耗比例,确定存储设备中各个模块的内存消耗趋势;根据内存消耗趋势确定下一检测周期向存储设备中各个模块分配的第三内存资源。
本申请实施例提供的方法通过内存资源管理模块向存储设备的各个模块分配内存资源,并在分配内存资源后,监控各个模块的内存使用信息,并生成各个模块的内存消耗情况,此方式不再需要终止用户进程,从而实现了在不影响用户使用的情况下,实时统计存储设备各个模块的内存消耗情况。
本申请实施例还提供一种电子设备,如图5所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504 完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的计算机程序时,实现上述实施例的步骤。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称 RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP) 等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的内存资源的处理方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的内存资源的处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk)等。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种内存资源的处理方法,应用于部署在存储设备中的内存资源管理模块,其特征在于,所述方法包括:
接收当前检测周期内存储设备中各个模块触发的内存使用请求,其中,所述内存使用请求携带所述模块的内存需求;
基于所述内存使用请求,向所述模块分配满足所述内存需求的第一内存资源;
监听所述存储设备的状态信息,在所述状态信息用于指示所述存储设备处于运行状态的情况下,读取所述存储设备中各个模块的内存使用信息;
基于所述内存使用信息以及所述第一内存资源,生成所述存储设备中各个模块在所述当前检测周期内的内存消耗情况;
所述读取所述存储设备中各个模块的内存使用信息,包括:
监听所述存储设备中各个模块对接的目标业务;
确定所述目标业务在当前检测周期内使用所述目标业务对应模块的第二内存资源;
基于所述目标业务的业务信息以及所述第二内存资源生成所述内存使用信息;
所述基于所述内存使用信息以及所述第一内存资源,生成所述存储设备中各个模块在所述当前检测周期内的内存消耗情况,包括:
基于所述第二内存资源与所述第一内存资源计算所述存储设备中各个模块对应的内存消耗比例;
将所述内存消耗比例确定为所述当前检测周期内的内存消耗情况;
在基于所述内存使用信息以及所述第一内存资源,生成所述存储设备中各个模块在所述当前检测周期内的内存消耗情况之后,所述方法还包括:
获取历史检测周期对应的历史内存消耗情况,其中,所述历史内存消耗情况包括历史内存消耗比例;
对比所述历史内存消耗比例以及所述当前检测周期的内存消耗比例,确定所述存储设备中各个模块的内存消耗趋势;
根据所述内存消耗趋势确定下一检测周期向所述存储设备中各个模块分配的第三内存资源。
2.根据权利要求1所述的方法,其特征在于,所述监听所述存储设备的状态信息,在所述状态信息用于指示所述存储设备处于运行状态的情况下,读取所述存储设备中各个模块的内存使用信息,包括:
接收插件指令,其中,所述插件指令用于控制内存资源管理模块监听所述存储设备的状态信息;
响应于所述插件指令,检测所述存储设备是否进入目标运行环境;
在确定所述存储设备进入目标运行环境的情况下,监听所述存储设备的状态信息;
在所述状态信息用于指示所述存储设备处于运行状态的情况下,读取所述存储设备中各个模块的内存使用信息。
3.根据权利要求1所述的方法,其特征在于,所述监听所述存储设备中各个模块对接的目标业务,包括:
获取所述存储设备中各个模块对应的模块标识;
从业务管理器中查询所述模块标识对应的业务,并将所述模块标识对应的业务确定为所述模块标识对应模块在当前检测周期内对接的目标业务,其中,所述业务管理器中包括模块标识与业务之间的对应关系。
4.根据权利要求1所述的方法,其特征在于,在基于所述内存使用信息以及所述第一内存资源,生成所述存储设备中各个模块在所述当前检测周期内的内存消耗情况之后,所述方法还包括:
对比所述存储设备中各个模块的内存消耗比例与消耗比例上限;
将所述内存消耗比例达到消耗比例上限的模块确定为目标模块;
检测所述目标模块是否存在被使用的无效内存资源;
在所述目标模块中存在被使用的无效内存资源的情况下,将所述无效内存资源从所述第二内存资源中释放。
5.一种内存资源的处理装置,其特征在于,包括:
接收模块,用于接收当前检测周期内存储设备中各个模块触发的内存使用请求,其中,所述内存使用请求携带所述模块的内存需求;
分配模块,用于基于所述内存使用请求,向所述模块分配满足所述内存需求的第一内存资源;
监听模块,用于监听所述存储设备的状态信息,在所述状态信息用于指示所述存储设备处于运行状态的情况下,读取所述存储设备中各个模块的内存使用信息;
生成模块,用于基于所述内存使用信息以及所述第一内存资源,生成所述存储设备中各个模块在所述当前检测周期内的内存消耗情况;
所述监听模块,用于监听所述存储设备中各个模块对接的目标业务;确定所述目标业务在当前检测周期内使用所述目标业务对应模块的第二内存资源;基于所述目标业务的业务信息以及所述第二内存资源生成所述内存使用信息;
所述生成模块,用于基于所述第二内存资源与所述第一内存资源计算所述存储设备中各个模块对应的内存消耗比例;将所述内存消耗比例确定为所述当前检测周期内的内存消耗情况;
内存资源的处理装置还包括:预测模块,用于获取历史检测周期对应的历史内存消耗情况,其中,所述历史内存消耗情况包括历史内存消耗比例;对比所述历史内存消耗比例以及所述当前检测周期的内存消耗比例,确定所述存储设备中各个模块的内存消耗趋势;根据所述内存消耗趋势确定下一检测周期向所述存储设备中各个模块分配的第三内存资源。
6.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时,由处理器执行上述权利要求1至4中任一项所述的方法。
7.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:
存储器,用于存放计算机程序;
处理器,用于通过运行存储器上所存放的程序来执行权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111473444.3A CN114327867B (zh) | 2021-11-29 | 2021-11-29 | 一种内存资源的处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111473444.3A CN114327867B (zh) | 2021-11-29 | 2021-11-29 | 一种内存资源的处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114327867A CN114327867A (zh) | 2022-04-12 |
CN114327867B true CN114327867B (zh) | 2023-11-10 |
Family
ID=81048710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111473444.3A Active CN114327867B (zh) | 2021-11-29 | 2021-11-29 | 一种内存资源的处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114327867B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815162A (zh) * | 2019-01-28 | 2019-05-28 | Oppo广东移动通信有限公司 | 内存管理方法、装置、移动终端及存储介质 |
CN111078406A (zh) * | 2019-12-10 | 2020-04-28 | Oppo(重庆)智能科技有限公司 | 内存管理方法、装置、存储介质及电子设备 |
CN113703964A (zh) * | 2021-07-30 | 2021-11-26 | 青岛海尔科技有限公司 | 内存管理方法及装置 |
-
2021
- 2021-11-29 CN CN202111473444.3A patent/CN114327867B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815162A (zh) * | 2019-01-28 | 2019-05-28 | Oppo广东移动通信有限公司 | 内存管理方法、装置、移动终端及存储介质 |
CN111078406A (zh) * | 2019-12-10 | 2020-04-28 | Oppo(重庆)智能科技有限公司 | 内存管理方法、装置、存储介质及电子设备 |
CN113703964A (zh) * | 2021-07-30 | 2021-11-26 | 青岛海尔科技有限公司 | 内存管理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114327867A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11546644B2 (en) | Bandwidth control method and apparatus, and device | |
CN108400904B (zh) | 一种基于微服务架构的健康检查方法和装置 | |
CN108737132B (zh) | 一种告警信息处理方法及装置 | |
CN110740072B (zh) | 一种故障检测方法、装置和相关设备 | |
CN110336742B (zh) | 信息发送方法、装置、计算机设备和存储介质 | |
CN109921925B (zh) | 一种拨测方法及装置 | |
CN108833205B (zh) | 信息处理方法、装置、电子设备及存储介质 | |
WO2019034095A1 (zh) | 软件处理方法、装置、电子设备及计算机可读存储介质 | |
US8966325B2 (en) | Identifying unreliable parts in an IT infrastructure | |
CN113067875A (zh) | 基于微服务网关动态流控的访问方法和装置以及设备 | |
CN114327867B (zh) | 一种内存资源的处理方法、装置、电子设备及存储介质 | |
CN113923483A (zh) | 直播异常的处理方法和装置、电子设备和存储介质 | |
CN110290210B (zh) | 接口调用系统中不同接口流量比例自动调配方法及装置 | |
CN109284275B (zh) | 一种云平台虚拟机文件系统监控方法和装置 | |
JP6679201B1 (ja) | 情報処理装置、情報処理システム、プログラム及び情報処理方法 | |
CN108234658B (zh) | 一种感知服务器集群健康状况的方法、装置和服务器 | |
CN116069591A (zh) | 一种接口性能监控方法、装置、设备以及存储介质 | |
CN112214437B (zh) | 一种存储设备及通信方法、装置、计算机可读存储介质 | |
CN110932926B (zh) | 一种容器集群的监控方法、系统及装置 | |
CN113806050A (zh) | 一种计算资源的处理方法、装置、电子设备及存储介质 | |
CN112714161A (zh) | 视频接入方法、装置及视频接入系统 | |
CN111614747B (zh) | 一种信息处理方法及装置 | |
CN111784174A (zh) | 一种基于用户画像管理风险策略的方法、装置和电子设备 | |
US11176009B2 (en) | Implementing power up detection in power down cycle to dynamically identify failed system component resulting in loss of resources preventing IPL | |
CN112087336B (zh) | 一种虚拟ip服务系统的部署、管理方法、装置及电子设备 |
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 |