CN110134611B - 内存泄漏分析方法、装置、终端和存储介质 - Google Patents
内存泄漏分析方法、装置、终端和存储介质 Download PDFInfo
- Publication number
- CN110134611B CN110134611B CN201910421092.3A CN201910421092A CN110134611B CN 110134611 B CN110134611 B CN 110134611B CN 201910421092 A CN201910421092 A CN 201910421092A CN 110134611 B CN110134611 B CN 110134611B
- Authority
- CN
- China
- Prior art keywords
- load
- container
- memory
- target
- preset
- 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/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/366—Software debugging using diagnostics
Abstract
本发明实施例公开了一种内存泄漏分析方法、装置、终端和存储介质,其中,方法包括,获取待检测的目标程序对应的容器集合中每个容器的负载数据,并从容器集合中选择满足检测条件的目标容器;对目标容器的负载数据进行处理,得到目标容器对应的监测指标数据,基于监测指标数据确定目标程序的内存是否存在泄漏。通过实施上述方法,可以直接通过容器负载的变化判断出程序的内存是否存在泄漏,提升了内存泄漏分析的保密性以及分析效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种内存泄漏分析方法、装置、终端和存储介质。
背景技术
内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。在容器云平台中,容器云平台可以托管大量的程序,如何有效的判断容器云平台中托管的程序的内存是否发生泄漏成为亟待解决的问题。
现有的内存泄漏分析方法主要为基于代码扫描的静态分析办法,其实现原理主要包括分析代码编译生成的中间文件和分析源代码文件。但上述方法需要对容器中运行程序的代码源文件进行扫描,扫描算法复杂且不通用,导致内存泄漏检测的保密性以及效率较低。
发明内容
本发明实施例提供了一种内存泄漏分析方法、装置、终端和存储介质,可以直接通过容器负载的变化判断出程序的内存是否存在泄漏。
一方面,本发明实施例提供了一种内存泄漏分析方法,所述方法包括:
获取容器集合中每一个容器的负载数据,所述容器集合中每一个容器用于对待检测的目标程序提供运行环境;
根据获取到的所述负载数据,从所述容器集合中确定负载数据满足检测条件的目标容器;
对所述目标容器的负载数据进行处理,得到所述目标容器对应的监测指标数据,所述监测指标数据用于表示所述目标容器的负载的变化状态;
基于所述监测指标数据确定所述目标程序的内存是否存在泄漏。
另一方面,本发明实施例提供了一种内存泄漏分析装置,所述装置包括:
获取模块,用于获取容器集合中每一个容器的负载数据,所述容器集合中每一个容器用于对待检测的目标程序提供运行环境;
确定模块,用于根据获取到的所述负载数据,从所述容器集合中确定负载数据满足检测条件的目标容器;
处理模块,用于对所述目标容器的负载数据进行处理,得到所述目标容器对应的监测指标数据,所述监测指标数据用于表示所述目标容器的负载的变化状态;
所述确定模块,还用于基于所述监测指标数据确定所述目标程序的内存是否存在泄漏。
相应地,本发明实施例提供了一种终端,包括处理器、输入接口、输出接口和存储器,所述处理器、输入接口、输出接口和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行第一方面所述的方法。
相应地,本发明实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行第一方面所述的方法。
本发明实施例中,内存泄漏分析装置获取目标程序对应的容器的负载数据,并根据容器中负载数据的变化来判断目标程序的内存是否发生泄漏,能对程序在内存使用上是否存在问题进行快速判决,从而达到及时发现内存泄漏问题。通过分析容器的负载变化来判断程序的内存是否发生泄漏,可以使得泄漏分析过程不用侵入程序的源文件,提升了泄漏分析的保密性;并且,该方法的算法复杂度较低,提升了内存泄漏分析的效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种内存泄漏分析系统的结构示意图;
图2是本发明实施例提供的一种内存泄漏分析方法的流程示意图;
图3是本发明实施例提供的另一种内存泄漏分析方法的流程示意图;
图4是本发明实施例提供的一种内存泄漏分析方法的交互流程示意图;
图5是本发明实施例提供的一种内存泄漏分析装置的结构示意图;
图6是本发明实施例提供的一种终端的结构示意图。
具体实施方式
本发明实施例提及的容器云平台与多个容器相连接,而容器是一种轻量级、可移植、自包含的软件打包技术,使程序可以在几乎任何地方以相同的方式运行,容器云平台中的每个容器可以单独的为一个或多个程序提供运行环境,容器之间相互隔离(内存互不影响),容器云平台可以对容器的运行状况进行管理和维护。
基于上述描述,本发明实施例提供了内存泄漏分析系统,请参见图1,该内存泄漏分析系统包括:多个容器集合,其中,每个容器集合中包括多个容器,且同一集合中的每个容器运行相同的程序,每个容器集合都与容器云平台相连接,容器和容器云平台为虚拟装置,可以运行于不同服务器中,容器用于提供一个独立的程序运行环境,即承载一个或多个应用程序,具体实现中,可以预先设置多个容器承载相同的程序,该多个承载相同程序的容器构成一个容器集合。容器云平台,与多个容器相连接,可以对容器的运行状况进行管理和维护,具体实现中,容器云平台可以获取到与其相连接的每个容器的实时负载数据并记录,其中,负载数据具体可以为容器的内存占用比例,如0.8、0.7等。进一步的,容器云平台根据预先建立好的判断规则来判断获取到的负载数据是否正常,当容器云平台发现异常负载数据时(如存在容器负载值大于预设负载值或负载值增量大于预设增量时),容器云平台触发异常告警,并根据触发该异常告警的容器查找到对应的目标程序,进而将该目标程序的信息进行记录。内存泄漏分析装置,与容器云平台相连接,用于从容器云平台中获取到需要的负载数据,并根据获取到的负载数据进行分析,进而判断是否存在程序的内存出现泄漏。其中,内存泄漏分析装置可以运行于终端中,终端可以是手机、电脑、平板电脑等电子设备。
图1所示系统的工作原理大致包括:容器云平台实时获取与其相连接的每个容器的负载数据并记录,当检测到异常负载数据时,触发异常告警并对触发异常告警的程序的信息进行存储。内存泄漏分析装置从容器云平台中获取容器集合中每一个容器的负载数据,其中,容器集合中每一个容器用于对待检测的目标程序提供运行环境,目标程序具体可以为容器云平台中记录的触发过异常告警的程序,或者,历史记录的出现过内存泄漏的程序,或者由操作人员指定的程序。内存泄漏分析装置根据获取到的负载数据,从目标程序对应的容器集合中确定负载数据满足检测条件的目标容器,其中,检测条件具体可以为平均负载值最大,或者负载方差值最大。内存泄漏分析装置对目标容器的负载数据进行处理,得到目标容器对应的监测指标数据,其中,监测指标数据包括负载上升占比、负载下降占比、最大上升子序列、负载连续上涨时长和运行异常次数中的至少一种,最大上升子序列用于表示目标容器在预设时间段内的负载数据对应的最大上升变化幅度;内存泄漏分析装置基于监测指标数据确定目标程序的内存是否存在泄漏,具体的,内存泄漏检测监测指标数据是否满足预设的泄漏判决条件;若是,则确定目标程序的内存存在泄漏。若目标程序的内存存在泄漏,则内存泄漏分析装置发出预警提示信息,预警提示信息用于提示目标程序的内存存在泄漏,进一步的,内存泄漏分析装置还可以对预警提示信息进行记录,并将目标程序作为下一周期的内存泄漏检测中的待检测程序。
综上可知,图1所示内存泄漏分析系统至少具备如下优点:对容器本身的无侵入性,在分析是否存在内存泄漏时,无需知道容器中运行何种程序。分析算法可移植性高,对于任意类型的程序,可以使用相同的分析算法。分析结果准确度高,由于本分析算法不依赖与程序本身特征,只关注容器本身的内存使用情况,即根据容器实际内存使用状态来判断是否存在泄漏,可以得到更准确的结果;分析效率更高,由于本方法无需对程序的源码进行分析,只需对负载数据进行简单分析即可得到判决结果,可提高分析效率。
基于上述内存泄漏分析系统的实施例的描述,本发明实施例提供一种内存泄漏分析方法,该方法可以应用于图1所示的内存泄漏分析系统中,具体可以由图1所示的内存泄漏分析装置执行。请参见图2,该内存泄漏分析过程可包括以下步骤S201-S204:
S201、获取容器集合中每一个容器的负载数据,容器集合中每一个容器用于对待检测的目标程序提供运行环境。
本发明实施例中,目标程序具体可以为容器云平台中记录的触发过异常告警的程序,或者,历史记录的出现过内存泄漏的程序,或者由操作人员指定的程序,目标程序可以是一个程序或多个程序的组合。具体实现中,容器云平台与多个容器集合相连接,一个容器集合由多个承载目标程序的容器组成,该容器集合中的每个容器用于为目标程序提供独立的运行环境,且每个容器的内存占用互不影响。容器云平台可以通过在承载容器的服务器中部署相应的服务来管理该服务器中的容器,其中,服务具体可以为Docker Node服务(开源的应用容器引擎服务)。容器云平台可以实时获取到容器集合中每个容器的负载数据,具体的,服务器中部署的Docker Node服务可以每间隔预设时长读取容器当前的负载数据,并将获取到的负载数据上传至容器云平台,容器云平台对接收到的负载数据进行检测,若获取到满足异常条件的负载数据,则确定该容器存在负载异常,并触发异常告警,容器云平台根据触发该异常告警的容器查找到对应的目标程序,进而将该目标程序的信息进行记录。需要说明的是,容器云平台可以管理及维护一个动态负载表,该动态负载表如下表1所示:
表1:
如上表1所示,动态负载表记录了各个程序对应的容器集合中每个容器当前时刻的负载值;容器云平台会对负载表中的负载值进行存储。
当需要对容器云平台中托管的目标程序进行内存泄漏分析时,内存泄漏分析装置从容器云平台中获取到目标程序对应的容器集合中每个容器的负载数据,其中,负载数据具体可以为容器内存占用比,如0.7、0.8等。内存泄漏分析装置获取的负载数据具体可以为预设时间段内容器云平台记录的数据,预设时间段可以为近一小时、近一天、近一周等,具体可以由研发人员预先设置。
S202、根据获取到的负载数据,从容器集合中确定负载数据满足检测条件的目标容器。
本发明实施例中,内存泄漏分析装置获取到目标程序对应的容器集合中每个容器的负载数据之后,将从容器集合中确定负载满足检测条件的目标容器。
在一种实现方式中,检测条件为平均负载值最大,内存泄漏分析装置从容器集合中确定满足检测条件的目标容器的具体方式可以为,内存泄漏分析装置根据获取到的负载数据确定容器集合中每个容器在预设监控周期内的平均负载值。其中,预设监控周期可以为近一周、近1个月等,具体可以由研发人员预先设置,平均负载值的具体计算方式可以为该预设监控周期内获取到的负载值之和与负载值的数量之间的比值。内存泄漏分析装置按照平均负载值的由大到小的顺序对容器集合中每个容器进行排序,得到排序结果,并将排序结果中排序为第一位的容器确定为满足检测条件的目标容器。
在一种实现方式中,检测条件为负载方差值最大,内存泄漏分析装置从容器集合中确定负载数据满足检测条件的目标容器的具体方式可以为,内存泄漏分析装置根据获取到的负载数据确定容器集合中每个容器在预设监控周期内的负载方差值;按照负载方差值的由大到小的顺序对容器集合中每个容器进行排序,得到排序结果;将排序结果中排序为前K位的容器确定为满足检测条件的目标容器,其中,K为正整数。
在一种实现方式中,检测条件为平均负载值大于预设负载值,即当容器的平均负载值大于预设负载值时,则确定容器满足检测条件,内存泄漏分析装置根据获取到的负载数据确定容器集合中每个容器在预设监控周期内的平均负载值,并将平均负载值大于预设负载值的容器确定为目标容器。
在一种实现方式中,检测条件为目标负载值最大,其中,目标负载值具体可以为预设监控周期内检测到的每个容器的最大负载值,具体的,内存泄漏分析装置获取预设监控周期内目标程序对应的容器集合中每个容器的最大负载值,按照最大负载值由大到小的顺序对容器集合中的每个容器进行排序,并将排序为前X位的容器确定为目标容器。其中,X为正整数。
本发明实施例中,因容器集合中每个容器都承载相同的目标程序,因此不必对每个容器都进行内存泄漏分析来判断内存是否出现泄漏,内存泄漏分析装置通过对满足检测条件的容器进行内存泄漏分析,可以在提升分析效率的同时,保证较高的分析准确率。
S203、对目标容器的负载数据进行处理,得到目标容器对应的监测指标数据。
本发明实施例中,内存泄漏分析装置确定目标容器之后,将对目标容器的负载数据进行处理,得到目标容器对应的监测指标数据,其中,监测指标数据用于表示目标容器的负载的变化状态,具体可以包括以下数据中的任意一种或多种:用于表示目标容器的负载的上升变化状态的负载上升占比;用于表示目标容器的负载的下降变化状态的负载下降占比;用于表示目标容器的负载的上升变化状态中变化幅度的最大上升子序列;用于表示目标容器的负载的上升变化状态持续时长的负载连续上涨时长;用于表示目标容器的负载的变化状态中异常变化的运行异常次数。具体的,终端可以对负载数据进行处理得到目标时间范围内的监测指标数据,目标时间范围可以为近3天、近一周、近一个月等,具体可以由用户预先设定。
在一种实现方式中,负载上升占比和负载下降占比的具体计算方式可以为,内存泄漏分析装置提取目标容器的负载数据中的N个负载样本值,并按照时间先后顺序对N个负载样本值进行排序,得到第一负载样本序列,其中,N为正整数;内存泄漏分析装置对第一负载样本序列中每前后两个负载样本值两两取差值,得到N-1个负载样本差值,并将N-1个负载样本差值中正数的占比确定为负载上升占比,将N-1个负载样本差值中负数的占比确定为负载下降占比。其中,N个负载样本值可以是预设时间段内获取到的该目标容器的负载值的集合。需要说明的是,上述N个负载样本值可以是预设时间段内Docker Node服务直接读取到的容器的负载值,或者,对Docker Node服务读取到的容器的负载值进行预处理后得到的负载样本值。其中,预处理的方式具体可以为,对连续获取到的预设数量的负载值进行相加或者取平均值。通过对直接获取到的负载值预处理,得到负载样本值,可以减少负载值的微小波动带来的检测误差。
举例说明,Docker Node服务每间隔15s读取一次目标容器的负载数据,然后,将负载数据上传至容器云平台。其中,截取一段获取到的负载数据具体如表2所示:
表2
时间 | 15:00 | 15:15 | 15:30 | 15:45 | 16:00 |
负载值 | 0.5 | 0.6 | 0.7 | 0.6 | 0.5 |
如表2所示,当内存泄漏分析装置直接将Docker Node服务读取到的容器的负载值作为负载样本值时,负载上升占比与负载下降占比的具体确定方式为,内存泄漏分析装置按照时间顺序对目标容器的负载值进行排序得到第一负载样本序列为0.5、0.6、0.7、0.6、0.5,然后对第一负载样本序列中每前后两个负载样本值两两取差值,得到4个负载样本差值,分别为0.1、0.1、-0.1、-0.1,其中正数为2个,负数为2个,总数为4个,则内存泄漏分析装置确定监测指标中的负载上升占比为0.5,负载下降占比为0.5。
在一种实现方式中,最大上升子序列的具体计算方式可以为,内存泄漏分析装置提取目标容器的负载数据中的M个负载样本值,并按照时间先后顺序对M个负载样本值进行排序,得到第二负载样本序列,其中,M为正整数;内存泄漏分析装置基于预设的分段规则将第二负载样本序列拆分为至少一个上升样本子序列,其中,上升样本子序列中的负载样本值随时间增大;内存泄漏分析装置将至少一个上升样本子序列中负载样本值数量最多的上升样本子序列确定为最大上升样本子序列。需要说明的是,预设的分段规则具体可以为将连续上升的负载样本值组成一个序列。上述M个负载样本值可以是预设时间段内DockerNode服务直接读取到的容器的负载值,或者,对Docker Node服务读取到的容器的负载值进行预处理后得到的负载样本值。其中,预处理的方式具体可以为,对连续获取到的预设数量的样本点进行相加或者取平均值。
举例说明,内存泄漏分析装置按照时间顺序对目标容器的负载样本值进行排序得到第二负载样本序列为0.2、0.3、0.4、0.2、0.6、0.1、0.3、0.5、0.7。并基于预设的拆分规则将第二负载样本序列拆分为第一上升子序列0.2、0.3、0.4,第二上升子序列0.2、0.6和第三上升子序列0.1、0.3、0.5、0.7,内存泄漏分析装置将上升样本子序列中样本值数量最多的样本子序列确定为最大上升样本子序列,得到最大上升子序列为0.1、0.3、0.5、0.7。
在一种实现方式中,负载连续上涨时长的具体计算方式可以为,内存泄漏分析装置计算目标容器在前K个周期中每个周期的平均负载值,并确定平均负载值连续上涨的周期,内存泄漏分析装置将平均负载值连续上涨的周期对应的时长确定为负载连续上涨时长,其中,K为正整数。
在一种实现方式中,运行异常次数的具体计算方式可以为,内存泄漏分析装置检测预设时长内目标容器负载值的最大变化幅度,若最大变化幅度大于预设变化幅度,则计1次运行异常,例如,预设时长为10分钟,预设变化幅度为0.5,若在10分钟内目标容器的最大负载值为0.92,最小负载值为0.2,则容器云平台确定变化幅度为0.72,大于预设变化幅度,并对该目标容器计1次运行异常,内存泄漏分析装置从容器云平台中获取到目标容器的运行异常次数。
S204、基于监测指标数据确定目标程序的内存是否存在泄漏。
本发明实施例中,内存泄漏分析装置确定针对目标容器的监测指标数据之后,将基于监测指标数据确定目标程序的内存是否存在泄漏。具体的,内存泄漏分析装置检测监测指标数据是否满足预设的泄漏判决条件;若是,则确定目标程序存在内存泄漏。
在一种实现方式中,预设的泄漏判决条件包括:最大上升子序列中负载样本值的数量大于第一预设数量。其中,第一预设数量具体由研发人员预先设定,例如,内存泄漏分析装置获取到目标容器的最大上升子序列中负载样本值的数量为100,第一预设数量为60,则内存泄漏分析装置确定目标容器对应的目标程序存在内存泄漏。
在一种实现方式中,预设的泄漏判决条件包括:在负载连续上涨时长大于预设时长、或目标程序的运行异常次数大于预设次数时,负载上升占比大于预设占比且负载上升占比与负载下降占比之间的比值大于第一预设比值。例如,预设时长为10小时,预设次数为1次,预设占比为0.6,第一预设比值为1.5,则在目标容器负载值连续上涨10小时或存在运行异常,负载上升占比超过0.6且负载上升占比与负载下降占比之间的比值大于1.5时,内存泄漏分析装置确定目标程序存在内存泄漏。
在一种实现方式中,预设的泄漏判决条件包括:在负载连续上涨时长大于预设时长、或运行异常次数大于预设次数时,负载上升占比与负载下降占比之间的比值大于第二预设比值且最大上升子序列中负载样本值的数量大于第二预设数量,其中,第二预设数量小于第一预设数量。例如,预设时长为10小时,预设次数为1次,预设占比为0.6,第二预设比值为5,第二预设数量为50,则在目标容器负载值连续上涨10小时或存在运行异常,负载上升占比与负载下降占比之间的比值大于5且最大上升子序列中样本值数量大于50时,内存泄漏分析装置确定目标程序存在内存泄漏。
本发明实施例中,内存泄漏分析装置获取待检测的目标程序对应的容器集合中每个容器的负载数据,并从容器集合中选择满足检测条件的目标容器;内存泄漏分析装置对目标容器的负载数据进行处理,得到目标容器对应的监测指标数据,并基于监测指标数据确定目标程序的内存是否存在泄漏。通过实施上述方法,可以直接通过容器负载的变化判断出程序的内存是否存在泄漏,提升了内存泄漏分析的保密性以及分析效率。
基于上述内存泄漏分析系统及内存泄漏分析方法的实施例的描述,本发明实施例提供另一种内存泄漏分析方法,该方法可以应用于图1所示的内存泄漏分析系统中,具体可以由图1所示的内存泄漏分析装置执行。请参见图3,该内存泄漏分析过程可包括以下步骤S301-S306:
S301、获取容器集合中每一个容器的负载数据,容器集合中每一个容器用于对待检测的目标程序提供运行环境。
本发明实施例中,目标程序具体可以为历史记录的导致容器云平台触发过异常告警的应用程序,或者,在预设时间段内出现过内存泄漏的应用程序。容器集合中每个容器都为目标程序提供独立的运行环境。
S302、根据获取到的负载数据,从容器集合中确定负载数据满足检测条件的目标容器。
本发明实施例中,可以预先建立平均负载值与检测条件的对应关系,内存分析装置获取到容器集合中每个容器的负载数据之后,将计算每个容器的平均负载值,并根据平均负载值确定对应的检测条件。例如,预先建立的平均负载值与检测条件的对应关系具体可以为,若容器集合中存在平均负载值大于预设平均负载值的容器,则采用最大平均负载值作为检测条件。若容器集合中每个容器的平均负载值均小于或等于预设平均负载值,则计算每个容器的负载值的方差,得到负载方差值,并将负载方差值最大作为检测条件。
S303、对目标容器的负载数据进行处理,得到目标容器对应的监测指标数据。
本发明实施例中,监测指标数据用于表示目标容器的负载的变化状态,具体可以包括以下数据中的任意一种或多种:用于表示目标容器的负载的上升变化状态的负载上升占比;用于表示目标容器的负载的下降变化状态的负载下降占比;用于表示目标容器的负载的上升变化状态中变化幅度的最大上升子序列;用于表示目标容器的负载的上升变化状态持续时长的负载连续上涨时长;用于表示目标容器的负载的变化状态中异常变化的运行异常次数。
S304、基于监测指标数据确定目标程序的内存是否存在泄漏。
本发明实施例中,内存泄漏分析装置确定针对目标容器的监测指标数据之后,将基于监测指标数据确定目标程序的内存是否存在泄漏。具体的,内存泄漏分析装置检测监测指标数据是否满足预设的泄漏判决条件;若是,则确定目标程序的内存存在泄漏。
其中,监测指标数据满足泄漏判决条件包括:最大上升子序列中负载样本值的数量大于第一预设数量。和/或,在负载连续上涨时长大于预设时长、或运行异常次数大于预设次数时,负载上升占比大于预设占比且负载上升占比与负载下降占比之间的比值大于第一预设比值;和/或,在负载连续上涨时长大于预设时长、或运行异常次数大于预设次数时,负载上升占比与负载下降占比之间的比值大于第二预设比值且最大上升子序列中负载样本值的数量大于第二预设数量。
进一步的,若目标程序的内存存在泄漏,则执行步骤S305,若目标程序的内存不存在泄漏,可选的,结束本流程。
S305、若目标程序的内存存在泄漏,则发出预警提示信息。
本发明实施例中,预警提示信息中包括目标程序名称、检测时间、泄漏判决条件等信息,用于提示目标程序的内存存在泄漏,若内存泄漏装置确定目标程序存在内存泄漏,则内存泄漏分析装置发出预警提示信息,使得目标程序可以及时的得到调试修正。
S306、对预警提示信息进行记录,并将目标程序作为下一周期的内存泄漏检测中的待检测程序。
本发明实施例中,内存泄漏分析装置确定目标程序存在内存泄漏,并发出预警提示信息之后,将对预警提示信息进行记录,并将目标程序作为下一周期的内存泄漏检测中的待检测程序。进一步的,内存分析装置还可以将上述预警提示信息发送至容器云平台,使得容器云平台对该预警提示信息进行记录,当采用其他内存泄漏分析装置检测泄漏的程序时,也可以参考到本次检测的检测结果。
本发明实施例中,内存泄漏分析装置待检测的目标程序对应的容器集合中每个容器的负载数据,并从容器集合中选择满足检测条件的目标容器;内存泄漏分析装置对目标容器的负载数据进行处理,得到目标容器对应的监测指标数据,并基于监测指标数据确定目标程序的内存是否存在泄漏,若目标程序的内存存在泄漏,则发出预警提示信息,并将目标程序作为下一周期的内存泄漏检测中的待检测程序。通过实施上述方法,可以直接通过容器负载的变化判断出程序的内存是否存在泄漏,提升了内存泄漏分析的保密性以及分析效率。
基于上述内存泄漏分析系统及内存泄漏分析方法的实施例的描述,本发明实施例提供又一种内存泄漏分析方法,该方法可以应用于图1所示的内存泄漏分析系统中,具体可以由图1所示容器、容器云平台以及内存泄漏分析装置交互执行。请参见图4,该方法可包括以下步骤S401-S406:
S401、容器集合下的每个容器向容器云平台发送自身的负载数据。
本发明实施例中,在满足上传条件时,容器可以通过Docker Node服务向容器云平台发送自身的负载数据,其中,上传条件具体可以为当时间到达预设时间节点时,或者,在接收到容器云平台发送的负载获取指令时。
S402、容器云平台接收每个容器发送的负载数据,并确定待检测的目标程序。
本发明实施例中,容器云平台根据预先建立好的判断规则来判断获取到的负载数据是否正常,当容器云平台发现异常负载数据时(如存在容器负载值大于预设负载值或负载值增量大于预设增量时),容器云平台触发异常告警,并根据触发该异常告警的容器查找到对应的程序,进一步的,容器云平台将该程序确定为待检测的目标程序,在一种实现方式中,容器云平台也可以将近期出现过内存泄漏的程序确定为目标程序,或者,容器云平台接收内存泄漏分析装置发送的程序信息,并将程序信息中的程序确定为目标程序。
S403、容器云平台向内存泄漏分析装置发送目标程序对应的容器集合中每个容器的负载数据。
S404、内存泄漏分析装置接收负载数据,并根据预设的泄漏判决条件判断是目标程序是否存在内存泄漏。
本发明实施例中,内存泄漏判断的具体过程如实施例1中提供的内存泄漏分析方法所示,在此不做赘述。
S405、若判断结果为目标程序存在内存泄漏,则内存泄漏分析装置发出预警提示信息。
本发明实施例中,预警提示信息中包括目标程序名称、检测时间、泄漏判决条件等信息,用于提示目标程序的内存存在泄漏。
S406、容器云平台对预警提示信息进行接收,并存储。
本发明实施例中,容器云平台对内存泄漏分析装置发出的预警提示信息进行接收,并对该预警提示信息进行记录,当采用其他内存泄漏分析装置检测泄漏的程序时,也可以参考到本次检测的检测结果,如将预警提示信息中的程序的信息作为下一周期内存泄漏分析中的待检测程序。
本发明实施例中,内存泄漏分析方法至少具备如下优点:对容器本身的无侵入性,在分析是否存在内存泄漏时,无需知道容器中运行何种程序。分析算法可移植性高,对于任意类型的程序,可以使用相同的分析算法。分析结果准确度高,由于本分析算法不依赖与程序本身特征,只关注容器本身的内存使用情况,即根据容器实际内存使用状态来判断是否存在泄漏,可以得到更准确的结果;分析效率更高,由于本方法无需对程序的源码进行分析,只需对负载数据进行简单分析即可得到判决结果,可提高分析效率。
下面将结合附图5对本发明实施例提供的内存泄漏分析装置进行详细介绍。需要说明的是,附图5所示的内存泄漏分析装置,用于执行本发明图2-图3所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,经参照本发明图2-3所示的实施例。
请参见图5,为本发明提供的一种内存泄漏分析装置的结构示意图,该内存泄漏分析装置50可包括:获取模块501、确定模块502、503。
获取模块501,用于获取容器集合中每一个容器的负载数据,所述容器集合中每一个容器用于对待检测的目标程序提供运行环境;
确定模块502,用于根据获取到的所述负载数据,从所述容器集合中确定负载数据满足检测条件的目标容器;
处理模块503,用于对所述目标容器的负载数据进行处理,得到所述目标容器对应的监测指标数据,所述监测指标数据用于表示所述目标容器的负载的变化状态;
所述确定模块502,还用于基于所述监测指标数据确定所述目标程序的内存是否存在泄漏。
在一种实现方式中,所述监测指标数据包括以下数据中的任意一种或多种:
用于表示所述目标容器的负载的上升变化状态的负载上升占比;
用于表示所述目标容器的负载的下降变化状态的负载下降占比;
用于表示所述目标容器的负载的上升变化状态中变化幅度的最大上升子序列;
用于表示所述目标容器的负载的上升变化状态持续时长的负载连续上涨时长;
用于表示所述目标容器的负载的变化状态中异常变化的运行异常次数。
在一种实现方式中,所述监测指标数据包括负载上升占比和负载下降占比,所述处理模块503,具体用于:
提取所述目标容器的负载数据中的N个负载样本值,并按照时间先后顺序对所述N个负载样本值进行排序,得到第一负载样本序列,其中,N为正整数;
对所述第一负载样本序列中每前后两个负载样本值两两取差值,得到N-1个负载样本差值;
将所述N-1个负载样本差值中正数的占比确定为所述负载上升占比,并将所述N-1个负载样本差值中负数的占比确定为所述负载下降占比。
在一种实现方式中,所述监测指标数据包括最大上升子序列,所述处理模块503,具体用于:
提取所述目标容器的负载数据中的M个负载样本值,并按照时间先后顺序对所述M个负载样本值进行排序,得到第二负载样本序列,其中,M为正整数;
基于预设的分段规则将所述第二负载样本序列拆分为至少一个上升样本子序列,所述上升样本子序列中的负载样本值随时间增大;
将所述至少一个上升样本子序列中负载样本值数量最多的上升样本子序列确定为最大上升样本子序列。
在一种实现方式中,所述确定模块502,具体用于:
检测所述监测指标数据是否满足预设的泄漏判决条件;
若是,则确定所述目标程序的内存存在泄漏;其中,所述监测指标数据满足所述泄漏判决条件包括:
所述最大上升子序列中负载样本值的数量大于第一预设数量;
和/或,在所述负载连续上涨时长大于预设时长、或所述运行异常次数大于预设次数时,所述负载上升占比大于预设占比且所述负载上升占比与所述负载下降占比之间的比值大于第一预设比值;
和/或,在所述负载连续上涨时长大于所述预设时长、或所述运行异常次数大于所述预设次数时,所述负载上升占比与所述负载下降占比之间的比值大于第二预设比值且所述最大上升子序列中负载样本值的数量大于第二预设数量。
在一种实现方式中,所述检测条件包括平均负载值最大,所述确定模块502,具体用于:
根据所述获取到的负载数据确定所述容器集合中每个容器在预设监控周期内的平均负载值;
按照所述平均负载值的由大到小的顺序对所述容器集合中每个容器进行排序,得到排序结果;
将所述排序结果中排序为第一位的容器确定为满足检测条件的目标容器。
在一种实现方式中,所述处理模块503,还用于:
若所述目标程序的内存存在泄漏,则发出预警提示信息,所述预警提示信息用于提示所述目标程序的内存存在泄漏;
对所述预警提示信息进行记录,并将所述目标程序作为下一周期的内存泄漏检测中的待检测程序。
本发明实施例中,获取模块501获取待检测的目标程序对应的容器集合中每个容器的负载数据,确定模块502从容器集合中确定满足检测条件的目标容器;处理模块503对目标容器的负载数据进行处理,得到所述目标容器对应的监测指标数据,确定模块502基于监测指标数据确定目标程序的内存是否存在泄漏。通过实施上述方法,可以直接通过容器负载的变化判断出程序的内存是否存在泄漏,提升了内存泄漏分析的保密性以及分析效率。
请参见图6,为本发明实施例提供的一种智能终端的结构示意图。如图6所示,该终端包括:至少一个处理器601,输入接口603,输出接口604,存储器605,至少一个通信总线602。其中,通信总线602用于实现这些组件之间的连接通信。其中,输入接口603可以是控制面板或者麦克风等,输出接口604可以是显示屏等。其中,存储器605可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器605可选的还可以是至少一个位于远离前述处理器601的存储装置。其中处理器601可以结合图5所描述的装置,存储器605中存储一组程序代码,且处理器601,输入接口603,输出接口604调用存储器605中存储的程序代码,用于执行以下操作:
输入接口603,用于获取容器集合中每一个容器的负载数据,所述容器集合中每一个容器用于对待检测的目标程序提供运行环境;
处理器601,用于根据获取到的所述负载数据,从所述容器集合中确定负载数据满足检测条件的目标容器;
处理器601,用于对所述目标容器的负载数据进行处理,得到所述目标容器对应的监测指标数据,所述监测指标数据用于表示所述目标容器的负载的变化状态;
处理器601,用于基于所述监测指标数据确定所述目标程序的内存是否存在泄漏。
在一种实现方式中,所述监测指标数据包括以下数据中的任意一种或多种:
用于表示所述目标容器的负载的上升变化状态的负载上升占比;
用于表示所述目标容器的负载的下降变化状态的负载下降占比;
用于表示所述目标容器的负载的上升变化状态中变化幅度的最大上升子序列;
用于表示所述目标容器的负载的上升变化状态持续时长的负载连续上涨时长;
用于表示所述目标容器的负载的变化状态中异常变化的运行异常次数。
在一种实现方式中,所述监测指标数据包括负载上升占比和负载下降占比,所述处理器601,具体用于:
提取所述目标容器的负载数据中的N个负载样本值,并按照时间先后顺序对所述N个负载样本值进行排序,得到第一负载样本序列,其中,N为正整数;
对所述第一负载样本序列中每前后两个负载样本值两两取差值,得到N-1个负载样本差值;
将所述N-1个负载样本差值中正数的占比确定为所述负载上升占比,并将所述N-1个负载样本差值中负数的占比确定为所述负载下降占比。
在一种实现方式中,所述监测指标数据包括最大上升子序列,所述处理器601,具体用于:
提取所述目标容器的负载数据中的M个负载样本值,并按照时间先后顺序对所述M个负载样本值进行排序,得到第二负载样本序列,其中,M为正整数;
基于预设的分段规则将所述第二负载样本序列拆分为至少一个上升样本子序列,所述上升样本子序列中的负载样本值随时间增大;
将所述至少一个上升样本子序列中负载样本值数量最多的上升样本子序列确定为最大上升样本子序列。
在一种实现方式中,所述处理器601,具体用于:
检测所述监测指标数据是否满足预设的泄漏判决条件;
若是,则确定所述目标程序的内存存在泄漏;其中,所述监测指标数据满足所述泄漏判决条件包括:
所述最大上升子序列中负载样本值的数量大于第一预设数量;
和/或,在所述负载连续上涨时长大于预设时长、或所述运行异常次数大于预设次数时,所述负载上升占比大于预设占比且所述负载上升占比与所述负载下降占比之间的比值大于第一预设比值;
和/或,在所述负载连续上涨时长大于所述预设时长、或所述运行异常次数大于所述预设次数时,所述负载上升占比与所述负载下降占比之间的比值大于第二预设比值且所述最大上升子序列中负载样本值的数量大于第二预设数量。
在一种实现方式中,所述检测条件包括平均负载值最大,所述处理器601,具体用于:
根据所述获取到的负载数据确定所述容器集合中每个容器在预设监控周期内的平均负载值;
按照所述平均负载值的由大到小的顺序对所述容器集合中每个容器进行排序,得到排序结果;
将所述排序结果中排序为第一位的容器确定为满足检测条件的目标容器。
在一种实现方式中,所述处理器601,具体用于:
若所述目标程序的内存存在泄漏,则发出预警提示信息,所述预警提示信息用于提示所述目标程序的内存存在泄漏;
对所述预警提示信息进行记录,并将所述目标程序作为下一周期的内存泄漏检测中的待检测程序。
本发明实施例中,输入接口603获取待检测的目标程序对应的容器集合中每个容器的负载数据,处理器601从容器集合中确定满足检测条件的目标容器;处理器601对目标容器的负载数据进行处理,得到所述目标容器对应的监测指标数据,处理器601基于监测指标数据确定目标程序的内存是否存在泄漏。通过实施上述方法,可以直接通过容器负载的变化判断出程序的内存是否存在泄漏,提升了内存泄漏分析的保密性以及分析效率。
应当理解,在本发明实施例中,所称处理器601可以是中央处理模块(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
总线602可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互联(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等,该总线602可以分为地址总线、数据总线、控制总线等,为便于表示,图6仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的计算机可读存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccess Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (9)
1.一种内存泄漏分析方法,其特征在于,所述方法包括:
获取容器集合中每一个容器的负载数据,所述容器集合中每一个容器用于对待检测的目标程序提供运行环境;
根据获取到的所述负载数据,从所述容器集合中确定负载数据满足检测条件的目标容器;
对所述目标容器的负载数据进行处理,得到所述目标容器对应的监测指标数据,所述监测指标数据用于表示所述目标容器的负载的变化状态;所述监测指标数据包括负载上升占比、负载下降占比、最大上升子序列、负载连续上涨时长和运行异常次数;
检测所述监测指标数据是否满足预设的泄漏判决条件;若是,则确定所述目标程序的内存存在泄漏;其中,所述监测指标数据满足所述泄漏判决条件包括以下至少一种:
所述最大上升子序列中负载样本值的数量大于第一预设数量;
在所述负载连续上涨时长大于预设时长、或所述运行异常次数大于预设次数时,所述负载上升占比大于预设占比且所述负载上升占比与所述负载下降占比之间的比值大于第一预设比值;
在所述负载连续上涨时长大于所述预设时长、或所述运行异常次数大于所述预设次数时,所述负载上升占比与所述负载下降占比之间的比值大于第二预设比值且所述最大上升子序列中负载样本值的数量大于第二预设数量。
2.根据权利要求1所述的方法,其特征在于,所述负载上升占比用于表示所述目标容器的负载的上升变化状态;所述负载下降占比用于表示所述目标容器的负载的下降变化状态;所述最大上升子序列用于表示所述目标容器的负载的上升变化状态中变化幅度;所述负载连续上涨时长用于表示所述目标容器的负载的上升变化状态持续时长;所述运行异常次数用于表示所述目标容器的负载的变化状态中异常变化。
3.根据权利要求2所述的方法,其特征在于,所述对所述目标容器的负载数据进行处理,得到所述目标容器对应的监测指标数据,包括:
提取所述目标容器的负载数据中的N个负载样本值,并按照时间先后顺序对所述N个负载样本值进行排序,得到第一负载样本序列,其中,N为正整数;
对所述第一负载样本序列中每前后两个负载样本值两两取差值,得到N-1个负载样本差值;
将所述N-1个负载样本差值中正数的占比确定为所述负载上升占比,并将所述N-1个负载样本差值中负数的占比确定为所述负载下降占比。
4.根据权利要求2所述的方法,其特征在于,所述对所述目标容器的负载数据进行处理,得到所述目标容器对应的监测指标数据,包括:
提取所述目标容器的负载数据中的M个负载样本值,并按照时间先后顺序对所述M个负载样本值进行排序,得到第二负载样本序列,其中,M为正整数;
基于预设的分段规则将所述第二负载样本序列拆分为至少一个上升样本子序列,所述上升样本子序列中的负载样本值随时间增大;
将所述至少一个上升样本子序列中负载样本值数量最多的上升样本子序列确定为最大上升样本子序列。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述检测条件包括平均负载值最大,所述根据获取到的所述负载数据,从所述容器集合中确定负载数据满足检测条件的目标容器,包括:
根据所述获取到的负载数据确定所述容器集合中每个容器在预设监控周期内的平均负载值;
按照所述平均负载值的由大到小的顺序对所述容器集合中每个容器进行排序,得到排序结果;
将所述排序结果中排序为第一位的容器确定为满足检测条件的目标容器。
6.根据权利要求1-4任一项所述的方法,其特征在于,基于所述监测指标数据确定所述目标程序的内存是否存在泄漏之后,所述方法还包括:
若所述目标程序的内存存在泄漏,则发出预警提示信息,所述预警提示信息用于提示所述目标程序的内存存在泄漏;
对所述预警提示信息进行记录,并将所述目标程序作为下一周期的内存泄漏检测中的待检测程序。
7.一种内存泄漏分析装置,其特征在于,所述装置包括:
获取模块,用于获取容器集合中每一个容器的负载数据,所述容器集合中每一个容器用于对待检测的目标程序提供运行环境;
确定模块,用于根据获取到的所述负载数据,从所述容器集合中确定负载数据满足检测条件的目标容器;
处理模块,用于对所述目标容器的负载数据进行处理,得到所述目标容器对应的监测指标数据,所述监测指标数据用于表示所述目标容器的负载的变化状态;所述监测指标数据包括负载上升占比、负载下降占比、最大上升子序列、负载连续上涨时长和运行异常次数;
所述确定模块,还用于:
检测所述监测指标数据是否满足预设的泄漏判决条件;若是,则确定所述目标程序的内存存在泄漏;其中,所述监测指标数据满足所述泄漏判决条件包括以下至少一种:
所述最大上升子序列中负载样本值的数量大于第一预设数量;
在所述负载连续上涨时长大于预设时长、或所述运行异常次数大于预设次数时,所述负载上升占比大于预设占比且所述负载上升占比与所述负载下降占比之间的比值大于第一预设比值;
在所述负载连续上涨时长大于所述预设时长、或所述运行异常次数大于所述预设次数时,所述负载上升占比与所述负载下降占比之间的比值大于第二预设比值且所述最大上升子序列中负载样本值的数量大于第二预设数量。
8.一种终端,其特征在于,包括处理器、输入接口、输出接口和存储器,所述处理器、输入接口、输出接口和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910421092.3A CN110134611B (zh) | 2019-05-20 | 2019-05-20 | 内存泄漏分析方法、装置、终端和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910421092.3A CN110134611B (zh) | 2019-05-20 | 2019-05-20 | 内存泄漏分析方法、装置、终端和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110134611A CN110134611A (zh) | 2019-08-16 |
CN110134611B true CN110134611B (zh) | 2021-06-25 |
Family
ID=67571907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910421092.3A Active CN110134611B (zh) | 2019-05-20 | 2019-05-20 | 内存泄漏分析方法、装置、终端和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110134611B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110619215B (zh) * | 2019-08-23 | 2021-08-20 | 苏州浪潮智能科技有限公司 | 一种代码安全扫描方法及系统 |
CN112214394B (zh) * | 2020-09-02 | 2024-05-03 | 深圳市优必选科技股份有限公司 | 内存泄漏检测方法、装置和设备 |
CN112416793A (zh) * | 2020-12-01 | 2021-02-26 | 新华三人工智能科技有限公司 | 一种内存泄漏检测方法及装置 |
CN116107859B (zh) * | 2023-04-11 | 2023-07-04 | 北京宝兰德软件股份有限公司 | 容器故障预测方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763305A (zh) * | 2009-12-29 | 2010-06-30 | 青岛海信宽带多媒体技术有限公司 | 一种嵌入式系统内存泄露的检测方法 |
CN103902437A (zh) * | 2014-03-11 | 2014-07-02 | 深圳市同洲电子股份有限公司 | 一种检测方法及服务器 |
CN105204996A (zh) * | 2015-09-24 | 2015-12-30 | 努比亚技术有限公司 | 内存泄露检测装置及方法、终端 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4512402B2 (ja) * | 2004-04-12 | 2010-07-28 | 株式会社日立製作所 | メモリリークの原因箇所検出方法、及びその実行プログラム |
CN101615143B (zh) * | 2008-06-27 | 2013-04-17 | 国际商业机器公司 | 用于内存泄漏诊断的方法和装置 |
-
2019
- 2019-05-20 CN CN201910421092.3A patent/CN110134611B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763305A (zh) * | 2009-12-29 | 2010-06-30 | 青岛海信宽带多媒体技术有限公司 | 一种嵌入式系统内存泄露的检测方法 |
CN103902437A (zh) * | 2014-03-11 | 2014-07-02 | 深圳市同洲电子股份有限公司 | 一种检测方法及服务器 |
CN105204996A (zh) * | 2015-09-24 | 2015-12-30 | 努比亚技术有限公司 | 内存泄露检测装置及方法、终端 |
Also Published As
Publication number | Publication date |
---|---|
CN110134611A (zh) | 2019-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110134611B (zh) | 内存泄漏分析方法、装置、终端和存储介质 | |
CN106294134B (zh) | 代码的崩溃定位方法及装置 | |
US10819603B2 (en) | Performance evaluation method, apparatus for performance evaluation, and non-transitory computer-readable storage medium for storing program | |
US11480948B2 (en) | Monitoring target selecting device, monitoring target selecting method, and program | |
CN106997316B (zh) | 内存异常增长的检测系统及方法 | |
CN108399115B (zh) | 一种运维操作检测方法、装置及电子设备 | |
CN111400294B (zh) | 数据异常监测方法、装置及系统 | |
CN114461534A (zh) | 软件性能测试方法、系统、电子设备及可读存储介质 | |
CN114844768A (zh) | 信息分析方法、装置及电子设备 | |
CN111506731B (zh) | 一种训练字段分类模型的方法、装置及设备 | |
CN113641526A (zh) | 告警根因定位方法、装置、电子设备及计算机存储介质 | |
CN114996103A (zh) | 页面异常检测方法、装置、电子设备和存储介质 | |
CN115858311A (zh) | 运维监控的方法、装置、电子设备及可读存储介质 | |
CN110765005B (zh) | 软件可靠性评估方法和装置 | |
CN116738091A (zh) | 页面监控方法、装置、电子设备及存储介质 | |
CN111309584A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113986671A (zh) | 运维数据异常检测方法、装置、设备及介质 | |
CN113592305A (zh) | 测试方法、装置、电子设备以及存储介质 | |
CN112199207A (zh) | 一种报警信息推送方法、装置、系统、设备及介质 | |
CN114936113B (zh) | 一种任务雪崩恢复方法、装置、电子设备及存储介质 | |
CN110866492A (zh) | 一种基线分支的识别方法、装置及计算机系统 | |
CN112099838B (zh) | 确定版本差异的方法、装置及存储介质 | |
CN115190008B (zh) | 故障处理方法、故障处理装置、电子设备及存储介质 | |
CN111522678B (zh) | 故障检测方法和装置 | |
CN112199247B (zh) | 一种无业务状态下Docker容器进程活性的检查方法及装置 |
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 |