一种内存资源的处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:33084728 阅读:28 留言:0更新日期:2022-04-15 10:45
本申请公开了一种内存资源的处理方法、装置、电子设备及存储介质。该方法包括:接收当前检测周期内存储设备中各个模块触发的内存使用请求;基于内存使用请求,向模块分配满足内存需求的第一内存资源;监听存储设备的状态信息,在状态信息用于指示存储设备处于运行状态的情况下,读取存储设备中各个模块的内存使用信息;基于内存使用信息以及第一内存资源,生成存储设备中各个模块在当前检测周期内的内存消耗情况。本申请实施例提供的方法在分配内存资源后,监控各个模块的内存使用信息,并生成各个模块的内存消耗情况,此方式不再需要终止用户进程,从而实现了在不影响用户使用的情况下,实时统计存储设备各个模块的内存消耗情况。况。况。

【技术实现步骤摘要】
一种内存资源的处理方法、装置、电子设备及存储介质


[0001]本申请涉及计算机
,尤其涉及一种内存资源的处理方法、装置、电子设备及存储介质。

技术介绍

[0002]在开发用户态应用程序中,会经常需要检测内存的占用情况,来判断是碰到内存泄漏问题,还是存在程序占用内存过大情况。目前一般使用开源的内存检测软件(如valgrind)去检测是否存在内存泄漏。但是,这种软件有个缺点就是必须终止用户进程才能输出检测结果,供后续分析是否存在内存泄露以及变量或类在申请内存后的占用情况,因此目前的检测软件无法较实时的获取内存消耗情况。

技术实现思路

[0003]为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种内存资源的处理方法、装置、电子设备及存储介质。
[0004]根据本申请实施例的一个方面,提供了一种内存资源的处理方法,应用于部署在存储设备中的内存资源管理模块,所述方法包括:
[0005]接收当前检测周期内存储设备中各个模块触发的内存使用请求,其中,所述内存使用请求携带所述模块的内存需求;
[0006]基于所述内存使用请求,向所述模块分配满足所述内存需求的第一内存资源;
[0007]监听所述存储设备的状态信息,在所述状态信息用于指示所述存储设备处于运行状态的情况下,读取所述存储设备中各个模块的内存使用信息;
[0008]基于所述内存使用信息以及所述第一内存资源,生成所述存储设备中各个模块在所述当前检测周期内的内存消耗情况。
[0009]进一步的,所述监听所述存储设备的状态信息,在所述状态信息用于指示所述存储设备处于运行状态的情况下,读取所述存储设备中各个模块的内存使用信息,包括:
[0010]接收插件指令,其中,所述插件指令用于控制所述第一内存资源管理模块监听所述存储设备的状态信息;
[0011]响应于所述插件指令,检测所述存储设备是否进入目标运行环境;
[0012]在确定所述存储设备进入目标运行环境的情况下,监听所述存储设备的状态信息;
[0013]在所述状态信息用于指示所述存储设备处于运行状态的情况下,读取所述存储设备中各个模块的内存使用信息。
[0014]进一步的,所述读取所述存储设备中各个模块的内存使用信息,包括:
[0015]监听所述存储设备中各个模块对接的目标业务;
[0016]确定所述目标业务在当前检测周期内使用所述目标业务对应模块的第二内存资源;
[0017]基于所述目标业务的业务信息以及所述第二内存资源生成所述内存使用信息。
[0018]进一步的,所述监听所述存储设备中各个模块对接的目标业务,包括:
[0019]获取所述存储设备中各个模块对应的模块标识;
[0020]从业务管理器中查询所述模块标识对应的业务,并将所述模块标识对应的业务确定为所述模块标识对应模块在当前检测周期内对接的目标业务,其中,所述业务管理器中包括模块标识与业务之间的对应关系。
[0021]进一步的,所述基于所述内存使用信息以及所述第一内存资源,生成所述存储设备中各个模块在所述当前检测周期内的内存消耗情况,包括:
[0022]基于所述第二内存资源与所述第一内存资源计算所述存储设备中各个模块对应的内存消耗比例;
[0023]将所述内存消耗比例确定为所述当前检测周期内的内存消耗情况。
[0024]进一步的,在基于所述内存使用信息以及所述第一内存资源,生成所述存储设备中各个模块在所述当前检测周期内的内存消耗情况之后,所述方法还包括:
[0025]对比所述存储设备中各个模块的内存消耗比例与消耗比例上限;
[0026]将所述内存消耗比例达到消耗比例上限的模块确定为目标模块;
[0027]检测所述目标模块是否存在被使用的无效内存资源;
[0028]在所述目标模块中存在被使用的无效内存资源的情况下,将所述无效内存资源从所述第二内存资源中释放。
[0029]进一步的,在基于所述内存使用信息以及所述第一内存资源,生成所述存储设备中各个模块在所述当前检测周期内的内存消耗情况之后,所述方法还包括:
[0030]获取历史检测周期对应的历史内存消耗情况,其中,所述历史内存消耗情况包括历史内存消耗比例;
[0031]对比所述历史内存消耗比例以及所述当前检测周期的内存消耗比例,确定所述存储设备中各个模块的内存消耗趋势;
[0032]根据所述内存消耗趋势确定下一检测周期向所述存储设备中各个模块分配的第三内存资源。
[0033]根据本申请实施例的另一个方面,还提供了一种内存资源的处理装置,包括:
[0034]接收模块,用于接收当前检测周期内存储设备中各个模块触发的内存使用请求,其中,所述内存使用请求携带所述模块的内存需求;
[0035]分配模块,用于基于所述内存使用请求,向所述模块分配满足所述内存需求的第一内存资源;
[0036]监听模块,用于监听所述存储设备的状态信息,在所述状态信息用于指示所述存储设备处于运行状态的情况下,读取所述存储设备中各个模块的内存使用信息;
[0037]生成模块,用于基于所述内存使用信息以及所述第一内存资源,生成所述存储设备中各个模块在所述当前检测周期内的内存消耗情况。
[0038]根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
[0039]根据本申请实施例的另一方面,还提供了一种电子装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其
中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。
[0040]本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。
[0041]本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的方法通过内存资源管理模块向存储设备的各个模块分配内存资源,并在分配内存资源后,监控各个模块的内存使用信息,并生成各个模块的内存消耗情况,此方式不再需要终止用户进程,从而实现了在不影响用户使用的情况下,实时统计存储设备各个模块的内存消耗情况。
附图说明
[0042]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0043]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0044]图1为本申请实施例提供的一种内存资源的处理方法的流程图;
[0045]图2为本申请另一实施例提供的一种内存资源的处理方法的流程图;
[004本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存资源的处理方法,应用于部署在存储设备中的内存资源管理模块,其特征在于,所述方法包括:接收当前检测周期内存储设备中各个模块触发的内存使用请求,其中,所述内存使用请求携带所述模块的内存需求;基于所述内存使用请求,向所述模块分配满足所述内存需求的第一内存资源;监听所述存储设备的状态信息,在所述状态信息用于指示所述存储设备处于运行状态的情况下,读取所述存储设备中各个模块的内存使用信息;基于所述内存使用信息以及所述第一内存资源,生成所述存储设备中各个模块在所述当前检测周期内的内存消耗情况。2.根据权利要求1所述的方法,其特征在于,所述监听所述存储设备的状态信息,在所述状态信息用于指示所述存储设备处于运行状态的情况下,读取所述存储设备中各个模块的内存使用信息,包括:接收插件指令,其中,所述插件指令用于控制所述第一内存资源管理模块监听所述存储设备的状态信息;响应于所述插件指令,检测所述存储设备是否进入目标运行环境;在确定所述存储设备进入目标运行环境的情况下,监听所述存储设备的状态信息;在所述状态信息用于指示所述存储设备处于运行状态的情况下,读取所述存储设备中各个模块的内存使用信息。3.根据权利要求1所述的方法,其特征在于,所述读取所述存储设备中各个模块的内存使用信息,包括:监听所述存储设备中各个模块对接的目标业务;确定所述目标业务在当前检测周期内使用所述目标业务对应模块的第二内存资源;基于所述目标业务的业务信息以及所述第二内存资源生成所述内存使用信息。4.根据权利要求3所述的方法,其特征在于,所述监听所述存储设备中各个模块对接的目标业务,包括:获取所述存储设备中各个模块对应的模块标识;从业务管理器中查询所述模块标识对应的业务,并将所述模块标识对应的业务确定为所述模块标识对应模块在当前检测周期内对接的目标业务,其中,所述业务管理器中包括模块标识与业务之间的对应关系。5.根据权利要求3所述的方法,其特征在于,所述基于所述内存使用信息以及所述第一内存资源,生成所述存储设备中各个模块在所述当前检测周期内的内存消耗情况,包括:基于所述第二内存资源与所述第一内存资源计算所述存储设备中各个模块对应的内存消耗比例;将所述内存...

【专利技术属性】
技术研发人员:孙京本孙明刚
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1