一种内存泄露检测方法、装置及相关设备制造方法及图纸

技术编号:36924310 阅读:37 留言:0更新日期:2023-03-22 18:48
本申请公开了一种内存泄露检测方法,包括:获取目标虚拟机内预设数据类型的历史数据序列,所述预设数据类型为内存使用率;确定所述历史数据序列中的历史变化点;根据所述历史变化点对所述历史数据序列进行划分,获得各历史数据子序列;利用各所述历史数据子序列进行模型训练,获得检测模型;利用所述检测模型对所述目标虚拟机进行内存泄露检测。应用本申请所提供的技术方案,可以在生产环境中实现及时有效的内存泄露检测,进而保证虚拟机的可用性和可靠性。本申请还公开了一种内存泄露检测装置、系统以及计算机可读存储介质,同样具有上述有益效果。述有益效果。述有益效果。

【技术实现步骤摘要】
一种内存泄露检测方法、装置及相关设备


[0001]本申请涉及网络安全
,特别涉及一种内存泄露检测方法,还涉及一种内存泄露检测装置、系统及计算机可读存储介质。

技术介绍

[0002]云计算因其提供廉价和按需访问、计算和存储资源的能力而被广泛应用于各个行业,用户可以仅使用所需的资源在这些虚拟机上部署他们的应用程序,这允许有效地使用物理硬件,并降低总体成本。然而,部署在云上的应用程序中的内存泄漏可能会影响应用程序甚至是虚拟机的可用性和可靠性,因此,快速识别出虚拟机内存异常增长现象是非常重要的。
[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]处理器,用于执行所述计算机程序时实现如上所述的任一种内存泄露检测方法的步骤。
[0045]第四方面,本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的任一种内存泄露检测方法的步骤。
[0046]本申请所提供的一种内存泄露检测方法,包括:获取目标虚拟机内预设数据类型的历史数据序列,所述预设数据类型为内存使用率;确定所述历史数据序列中的历史变化点;根据所述历史变化点对所述历史数据序列进行划分,获得各历史数据子序列;利用各所述历史数据子序列进行模型训练,获得检测模型;利用所述检测模型对所述目标虚拟机进行内存泄露检测。
[0047]可见,本申请所提供的内存泄露检测方法,利用目标虚拟机内的历史数据进行机器学习训练,得到可用于实现内存泄漏检测的检测模型,进而利用该检测模型实现对于目标虚拟机的内存泄露检测,从而实现了基于机器学习的在线检测,显然,基于该种实现方式,可以在生产环境中进行及时有效的内存泄露检测,帮助运维人员尽早定位内存泄漏问题,进一步保证虚拟机的可用性本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存泄露检测方法,其特征在于,包括:获取目标虚拟机内预设数据类型的历史数据序列,所述预设数据类型为内存使用率;确定所述历史数据序列中的历史变化点;根据所述历史变化点对所述历史数据序列进行划分,获得各历史数据子序列;利用各所述历史数据子序列进行模型训练,获得检测模型;利用所述检测模型对所述目标虚拟机进行内存泄露检测。2.根据权利要求1所述的内存泄露检测方法,其特征在于,所述确定所述历史数据序列中的历史变化点,包括:对所述历史数据序列进行一阶差分计算,获得各差分绝对值;对于每一所述差分绝对值,计算获得所述差分绝对值对应的标准分数;根据所述标准分数确定所述差分绝对值对应的历史数据是否为所述历史变化点。3.根据权利要求1所述的内存泄露检测方法,其特征在于,所述根据所述历史变化点对所述历史数据序列进行划分,获得各历史数据子序列,包括:对于所述历史数据序列中除末尾历史变化点之外的每一其他历史变化点,将所述其他历史变化点与所述末尾历史变化点之间的历史数据组合为所述历史数据子序列。4.根据权利要求1所述的内存泄露检测方法,其特征在于,所述利用各所述历史数据子序列进行模型训练,获得检测模型,包括:对于每一所述历史数据子序列,通过线性拟合获得所述历史数据子序列对应的拟合数据,所述拟合数据包括拟合曲线、拟合曲线斜率、拟合曲线可持续时间、异常持续时间;在所有所述拟合数据中,将所述拟合曲线斜率为最大拟合曲线斜率、所述异常持续时间为最大异常持续时间、所述拟合曲线可持续时间不超过预设时长时的拟合数据作为所述检测模型。5.根据权利要求4所述的内存泄露检测方法,其特征在于,所述利用所述检测模型对所述目标虚拟机进行内存泄露检测,包括:获取所述目标虚拟机内所述预设数据类型的待检数据序列;确定所述待检数据序列中的变化点;根据所述变化点对所述待检数据序列进行划分,获得各待检数据子序列;利用所述检测模型对各所述待检数据子序列进行处理,获得处理结果;根据所述处理结果确定内存泄漏检测结果。6.根据权利...

【专利技术属性】
技术研发人员:郑景中周旭陈晓帆廖俊峰王雄
申请(专利权)人:深信服科技股份有限公司
类型:发明
国别省市:

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

1