内存泄漏的检测方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:39157182 阅读:100 留言:0更新日期:2023-10-23 15:01
本申请公开一种内存泄漏的检测方法、装置、电子设备及可读存储介质,属于电子设备技术领域。该方法包括:获取第一进程周期性上报的至少一个第二进程的实际物理内存数据,其中,所述第一进程为具有根ROOT权限的进程,所述至少一个第二进程为电子设备当前运行的进程;在基于连续多次获取的第二进程的实际物理内存数据,确定所述第二进程的内存增长趋势满足预定条件的情况下,确定所述第二进程存在内存泄漏,其中,所述第二进程为所述至少一个第一进程中的任一进程。一进程中的任一进程。一进程中的任一进程。

【技术实现步骤摘要】
内存泄漏的检测方法、装置、电子设备及可读存储介质


[0001]本申请实施例涉及终端
,特别涉及一种内存泄漏的检测方法、装置、电子设备及可读存储介质。

技术介绍

[0002]目前针对Android手机上监测内存泄漏问题,主要通过固定阈值以及两个端点的内存增长速度等方案来进行监测。
[0003]但是通过固定阈值方案进行监测时,由于可安装在Android手机的程序数量众多且内存不同,会产生不同的阈值,导致只能监测一个特定进程的内存,无法监测所有进程;而通过两个端点的内存增长速度来判断是否发生内存泄漏时,由于内存在使用过程中存在增长和释放,导致在监测内存泄漏时存在较大的误判问题。

技术实现思路

[0004]本申请实施例的目的是提供一种内存泄漏的检测方法、装置、电子设备和存储介质,能够解决监测内存泄漏时通常只能监测一个特定进程的内存泄漏,而无法同时监测设备上所有的进程以及存在的误判内存泄漏中至少之一的问题。
[0005]为了解决上述技术问题,本申请是这样实现的:
[0006]第一方面,提供了一种内存泄漏的检测方法,该方法包括:获取第一进程周期性上报的至少一个第二进程的实际物理内存数据,其中,所述第一进程为具有根(ROOT)权限的进程,所述至少一个第二进程为电子设备当前运行的进程;在基于连续多次获取的第二进程的实际物理内存数据,确定所述第二进程的内存增长趋势满足预定条件的情况下,确定所述第二进程存在内存泄漏,其中,所述第二进程为所述至少一个第一进程中的任一进程。
[0007]第二方面,提供了一种内存泄漏的检测装置,包括:获取模块,用于获取第一进程周期性上报的至少一个第二进程的实际物理内存数据,其中,所述第一进程为具有根(ROOT)权限的进程,所述至少一个第二进程为电子设备当前运行的进程;确定模块,用于在基于连续多次获取的第二进程的实际物理内存数据,确定所述第二进程的内存增长趋势满足预定条件的情况下,确定所述第二进程存在内存泄漏,其中,所述第二进程为所述至少一个第一进程中的任一进程。
[0008]第三方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行以实现上述的第一方面所述方法。
[0009]第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现上述的第一方面所述的方法。
[0010]第五方面,提供了一种计算机程序产品,所述计算机程序产品包括至少一条计算机程序,所述计算机程序由处理器加载并执行以实现上述各种可选实现方式中提供的第一
方面所述的方法。
[0011]本申请实施例中,基于连续多次获取的具有ROOT权限的第一进程周期性上报电子设备当前运行的至少一个第二进程的实际物理内存数据,在确定所述第二进程的内存增长趋势满足预定条件的情况下,确定所述第二进程存在内存泄漏。因此,可以对电子设备当前运行的多个第二进程进行检测,从而能够解决监测内存泄漏时通常只能监测一个特定进程的内存泄漏,而无法同时监测设备上所有的进程以及存在的误判内存泄漏的问题,实现同时监测电子设备所有进程以及减少误判的效果。
[0012]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0013]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0014]图1示出了本申请一示例性实施例提供的一种内存泄漏的检测方法的流程示意图;
[0015]图2示出了本申请一示例性实施例提供的系统数据存储的示意图;
[0016]图3示出了本申请一示例性实施例提供的内存关系示意图;
[0017]图4示出了本申请一示例性实施例内存占用的示意图;
[0018]图5示出了本申请一示例性实施例提供的另一种内存泄漏的检测方法的流程示意图;
[0019]图6示出了本申请一示例性实施例提供的电子设备的结构示意图;
[0020]图7示出了本申请一示例性实施例提供的一种内存泄漏的检测方法的流程示意图;
[0021]图8示出了本申请一示例性实施例提供的一种内存泄漏的判断方法的流程示意图;
[0022]图9a示出本申请一示例性实施例中的一种内存占用场景示意图;
[0023]图9b示出本申请一示例性实施例中的另一种内存占用场景示意图;
[0024]图9c示出本申请一示例性实施例中的又一种内存占用场景示意图;
[0025]图9d示出本申请一示例性实施例中的又一种内存占用场景示意图;
[0026]图10示出了本申请一示例性实施例提供的一种内存泄漏的检测装置的结构示意图;
[0027]图11是根据本申请一示例性实施例示出的电子设备的结构框图。
具体实施方式
[0028]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0029]Android系统是一个开放的生态系统,有数千万应用程序可以在系统上面运行。因
为系统内存属于有限资源,而有些应用却存在内存泄漏的行为,导致可用的内存资源越来越紧张,使得电子设备也越来越卡顿,但是对于电子设备的使用者来说却不知道卡顿的原因。
[0030]在相关技术中,监测进程是否存在内存泄漏一般是采用通过固定阈值判断是否内存泄漏或者通过在应用程序中创建一个线程进行监测。然而,因为Android系统是一个开放的生态,可以安装的程序有上千万个,而每个程序运行所需要的内存是不一致的,就导致有上千万个不同的阈值,所以无法通过阈值监测所有进程情况。而对于监测线程,因为Android系统存在沙箱隔离机制,A进程无法访问B进程的数据,所以在A进程中创建线程只能监测到A进程的内存泄漏,而无法监测到其他进程。
[0031]针对上述问题,本申请实施例提供了一种内存泄漏的检测方法,可以根据内存的增长趋势判断是否存在内存泄漏,从而可以适配上千万个不同的进程。另外,在本申请实施例中,通过具有root权限的第一进程,获取电子设备当前运行的至少一个第二进程的实际物理内存数据,从而可以监测所有进程。下面结合附图,对本申请实施例提供的技术方案进行说明。
[0032]图1示出了本申请一示例性实施例提供的一种内存泄漏的检测方法,该方法100可以由电子设备执行,换言之,该方法可以由安装在电子设备的软件或硬件来执行,该电子设备可以为手机等终端设备。如图1所示,该方法主要包括如下步骤:
[0033]S101:获取第一进程周期性上报的至少一个第二进程的实际物理内存数据。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存泄漏的检测方法,应用于电子设备,其特征在于,包括:获取第一进程周期性上报的至少一个第二进程的实际物理内存数据,其中,所述第一进程为具有根ROOT权限的进程,所述至少一个第二进程为电子设备当前运行的进程;在基于连续多次获取的第二进程的实际物理内存数据,确定所述第二进程的内存增长趋势满足预定条件的情况下,确定所述第二进程存在内存泄漏,其中,所述第二进程为所述至少一个第一进程中的任一进程。2.根据权利要求1所述的方法,其特征在于,所述至少一个第一进程包括所述电子设备当前运行的所有进程;或者,所述至少一个第一进程包括所述电子设备当前运行的所有进程中占用的内存大于第一阈值的进程。3.根据权利要求1所述的方法,其特征在于,基于连续多次获取的第二进程的实际物理内存数据,确定所述第二进程的内存增长趋势满足预定条件,包括:基于N1组连续n1次获取的所述第二进程的实际物理内存数据,获取所述第二进程对应的N1个线性回归值;在N1个所述线性回归值均大于第二阈值的情况下,确定所述第二进程的内存增长趋势满足预定条件;其中,N1和n1为大于1的整数。4.根据权利要求3所述的方法,其特征在于,基于连续多次获取的第二进程的实际物理内存数据,确定所述第二进程的内存增长趋势满足预定条件,还包括:在N1个所述线性回归值不完全大于第二阈值的情况下,基于N2组连续n2次获取的所述第二进程的实际物理内存数据,获取所述第二进程对应的N2个线性回归值;在N2个所述线性回归值均大于第二阈值的情况下,确定所述第二进程的内存增长趋势满足预定条件;其中,N2和n2为大于1的整数,且N1&gt;N2,n1&lt;n2。5.根据权利要求4所述的方法,其特征在于,基于连续多次获取的第二进程的实际物理内存数据,确定所述第二进程的内存增长趋势满足预定条件,还包括:在N2个所述线性回归值不完全大于第二阈值的情况下,基于N3组连续n3次获取的所述第二进程的实际物理内存数据,获取所述第二进程对应的N3个线性回归值;在N3个所述线性回归值均大于第二阈值的情况...

【专利技术属性】
技术研发人员:王浩飞
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:

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

1