CN114048051A - 检测方法、设备及计算机可读存储介质 - Google Patents

检测方法、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN114048051A
CN114048051A CN202111139834.7A CN202111139834A CN114048051A CN 114048051 A CN114048051 A CN 114048051A CN 202111139834 A CN202111139834 A CN 202111139834A CN 114048051 A CN114048051 A CN 114048051A
Authority
CN
China
Prior art keywords
time window
log
statistical information
memory
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.)
Pending
Application number
CN202111139834.7A
Other languages
English (en)
Inventor
肖欣
程康
张亮
李健
潘继雨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202111139834.7A priority Critical patent/CN114048051A/zh
Publication of CN114048051A publication Critical patent/CN114048051A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3075Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved in order to maintain consistency among the monitored data, e.g. ensuring that the monitored data belong to the same timeframe, to the same system or component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请为检测方法、设备及计算机可读存储介质,实施例公开了一种内存异常检测方法及设备,其中,该方法包括:获取第一内存日志,该第一内存日志包括多次垃圾回收的日志信息,每次垃圾回收的日志信息包括垃圾回收时间,以及包括停机时间、垃圾回收之后的内存占用率和垃圾回收之前的内存占用率中的至少一种;根据第一检测时间窗中的日志信息,得到第一检测时间窗对应的第一统计信息;根据第一检测时间窗对应的第一统计信息,确定第一检测时间窗中的日志信息对应的异常程度。可见,通过实施本申请实施例所描述的方法,提高了内存异常程度检测结果的准确性。

Description

检测方法、设备及计算机可读存储介质
本申请是2017年07月25日递交的、申请号为201710614122.3的中国专利申请的分案。
技术领域
本申请涉及通信技术领域,尤其涉及一种内存异常检测方法及设备。
背景技术
通常,网络设备中若出现内存异常现象,则很容易导致网络设备故障,进而影响网络。例如,内存泄露是内存异常的一种。内存泄漏是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,从而导致程序运行速度减慢甚至系统崩溃等严重后果。
例如,内存异常在软件定义网络(software defined network,SDN)控制器中尤其严重。SDN控制器是网络的“大脑”,是负责SDN网络中的战略控制的应用。由于在SDN控制器中存储有自身及几乎整网的全部信息,内存泄露等异常足以致使SDN控制器崩溃,进而导致网络紊乱瘫痪。
因此,提供一种如何对内存异常进行检测的方法是目前亟待解决的问题。在现有的实际应用中,为了对网络设备的内存异常进行检测,通常对垃圾回收之后的内存占用率设置一个阈值。若垃圾回收之后的内存占用率超过这个阈值,则确定内存在该垃圾回收的垃圾回收时间出现异常。然而通过一次垃圾回收对应的垃圾回收之后的内存占用率来确定内存是否发生异常,准确度并不高。
发明内容
本申请实施例提供了一种内存异常检测方法及设备,有利于准确地检测出内存异常程度。
第一方面,本申请实施例提供了一种内存异常检测方法,该方法包括:获取第一内存日志,该第一内存日志包括多次垃圾回收的日志信息,每次垃圾回收的日志信息包括垃圾回收时间,以及包括停机时间、垃圾回收之后的内存占用率和垃圾回收之前的内存占用率中的至少一种;根据第一检测时间窗中的日志信息,得到第一检测时间窗对应的第一统计信息,该第一检测时间窗中的日志信息为垃圾回收时间属于第一检测时间窗的日志信息,该第一统计信息包括第一检测时间窗中的平均停机时间、第一检测时间窗中最晚的垃圾回收之后的内存占用率相对于第一检测时间窗中最早的垃圾回收之前的内存占用率的变化、第一检测时间窗中最晚的垃圾回收之后的内存占用率中的至少一种;根据第一检测时间窗对应的第一统计信息,确定第一检测时间窗中的日志信息对应的异常程度。可选的,第一检测时间窗可以包括一次垃圾回收的日志信息,也可以包括多次垃圾回收的日志信息。
可见,通过实施第一方面所描述的方法,内存异常检测设备不是根据单次垃圾回收后的内存占用率来判断日志信息的异常程度,而是根据一段时间内的日志信息的统计信息来判断日志信息的异常程度,即根据第一检测时间窗对应的第一统计信息,确定第一检测时间窗中的日志信息对应的异常程度。日志信息对应的异常程度可以用于表征内存在该日志信息对应的垃圾回收时间的异常程度,因此,内存异常检测的准确率比较高。
并且在现有技术中,仅仅根据一次垃圾回收的垃圾回收之后的内存占有率确定内存的异常程度,内存异常检测的准确率较低。而本申请中,日志信息不止包括垃圾回收之后的内存占有率,还可包括停机时间和垃圾回收之前的内存占用率。因此,内存异常检测设备可根据一段时间内的包括多个维度信息的日志信息来确定内存对应的异常程度,这样可更加准确地确定内存对应的异常程度。
可选的,根据第一检测时间窗对应的第一统计信息,确定第一检测时间窗中的日志信息对应的异常程度的具体实施方式可以为:根据第一检测时间窗对应的第一统计信息,确定第一检测时间窗对应的异常程度;将第一检测时间窗对应的异常程度确定为第一检测时间窗中的第一日志信息对应的异常程度。.通过实施该实施方式,可准确地确定第一检测时间窗中日志信息对应的异常程度。
可选的,第一日志信息为属于第一检测时间窗且不属于位于第一检测时间窗之前的检测时间窗的日志信息。也就是说,多个检测时间窗共同拥有的日志信息对应的异常程度为该多个检测时间窗中最早的检测时间窗的异常程度。通过实施该实施方式,可准确地确定第一检测时间窗中日志信息对应的异常程度。
可选的,第一日志信息为第一检测时间窗中的任一日志信息。也就是说,多个检测时间窗共同拥有的日志信息对应的异常程度为该多个检测时间窗中最晚的检测时间窗的异常程度。通过实施该实施方式,可准确地确定第一检测时间窗中日志信息对应的异常程度。
可选的,确定第一检测时间窗中的日志信息对应的异常程度之后,若存在高度异常的日志信息,并且高度异常的日志信息中的垃圾回收之后的内存占用率小于预设占有率,并且高度异常的日志信息中的停机时间小于预设停机时间,则将高度异常的日志信息对应的异常程度调整为非高度异常。否则,保持该高度异常的日志信息对应的异常程度为高度异常。
内存占用率越高,停机时间越长,内存出现异常的可能性越高。因此,通过日志信息中垃圾回收之后的内存占用率,以及该日志信息中停机时间对该日志信息的异常程度进行调整,有利于提高日志信息的异常程度的准确性。
可选的,第一统计信息还包括第一检测时间窗中的垃圾回收的次数。通过更多的参数对内存异常程度进行检测,有利于提高检测结果的准确性。
可选的,若在预设时间段内连续出现预设次数的高度异常的日志信息,则对内存异常进行告警。通过实施该实施方式,可及时对内存异常发出告警,以便及时采用措施解决内存异常。
可选的,根据第一检测时间窗对应的第一统计信息,确定第一检测时间窗中的日志信息的异常程度的具体实施方式可以为:根据异常程度确定规则和第一检测时间窗对应的第一统计信息,确定第一检测时间窗中的日志信息的异常程度,该异常程度确定规则为预先根据第二内存日志中包括的停机时间、垃圾回收之后的内存占用率和垃圾回收之前的内存占用率中的至少一种以及垃圾回收时间得到的。
异常程度确定规则是根据第二内存日志中包括的垃圾回收时间、停机时间和垃圾回收之后的内存占用率分析计算得到的,异常程度确定规则并不是人为设定的规则。因此,通过实施该实施方式,有利于提高内存异常程度检测结果的准确性。
可选的,异常程度确定规则包括分别对应不同异常程度的条件,根据异常程度确定规则和第一检测时间窗对应的第一统计信息,确定第一检测时间窗中的日志信息的异常程度的具体实施方式可以为:将第一检测时间窗的第一统计信息所满足的条件对应的异常程度确定为第一检测时间窗的异常程度;根据第一检测时间窗对应的异常程度,确定第一检测时间窗中的日志信息对应的异常程度。例如,将第一检测时间窗对应的异常程度确定为第一检测时间窗中的第一日志信息对应的异常程度。第一日志信息为第一检测时间窗中的任一日志信息。或者,第一日志信息为属于第一检测时间窗且不属于位于第一检测时间窗之前的检测时间窗的日志信息。
可选的,获取第一内存日志之前,还可获取第二内存日志,该第二内存日志包括多次垃圾回收的日志信息,每次垃圾回收的日志信息包括垃圾回收时间,以及包括停机时间、垃圾回收之后的内存占用率和垃圾回收之前的内存占用率中的至少一种;对于多个训练时间窗中的任一训练时间窗,根据该任一训练时间窗中的日志信息确定任一训练时间窗对应的第二统计信息,第二统计信息包括该任一训练时间窗中的平均停机时间、该任一训练时间窗中最后一次垃圾回收之后的内存占用率相对于该任一训练时间窗中最早的垃圾回收之前的内存占用率的变化、该任一训练时间窗中最晚的垃圾回收之后的内存占用率中的至少一种,该任一训练时间窗中的日志信息为垃圾回收时间属于训练时间窗的日志信息;根据多个训练时间窗对应的第二统计信息,确定多个训练时间窗中的每一个训练时间窗对应的异常程度;根据每一个训练时间窗对应的第二统计信息和异常程度,确定异常程度确定规则。可见,通过实施该实施方式,无需人为设置异常程度确定规则,内存异常检测设备可基于第二内存日志中的信息,计算分析得到异常程度确定规则,并且异常程度确定规则是基于第二内存日志中的大量数据计算得到的,因此,使用异常程度确定规则对新接收的第一内存日志进行内存异常检测,可提高检测结果的准确性。
可选的,根据多个训练时间窗对应的第二统计信息,确定多个训练时间窗中的每一个训练时间窗对应的异常程度的具体实施方式可以为:对多个训练时间窗对应的第二统计信息进行聚类,以将多个训练时间窗对应的第二统计信息分为至少两类;根据该至少两类的第二统计信息,得到该至少两类中的每类第二统计信息对应的异常程度;根据每类第二统计信息对应的异常程度,确定每个训练时间窗对应的异常程度,其中,任意一个训练时间窗对应的异常程度为该任意一个训练时间窗对应的第二统计信息所在类对应的异常程度。通过实施该实施方式,可准确地确定多个训练时间窗中的每一个训练时间窗对应的异常程度。
可选的,根据至少两类的第二统计信息,得到至少两类中的每类第二统计信息对应的异常程度的具体实施方式可以为:对于该至少两类中的任一类第二统计信息,计算该任一类第二统计信息中的目标数据的平均值,该目标数据为该任一类第二统计信息中的一种数据,其中,每个第二统计信息的目标数据为同一种数据;根据计算得到的所有平均值的大小,确定该至少两类中的每类第二统计信息对应的异常程度。
可选的,根据每类第二统计信息对应的异常程度,确定每个训练时间窗对应的异常程度之后,以及根据每一个训练时间窗对应的第二统计信息和异常程度确定异常程度确定规则之前,若存在高度异常的训练时间窗,并且高度异常的训练时间窗中最大的垃圾回收之后的内存占用率小于预设占有率,并且高度异常的训练时间窗中最大的停机时间小于预设停机时间,则将高度异常的训练时间窗对应的异常程度调整为非高度异常。
内存占用率越高,停机时间越长,内存出现异常的可能性越高。因此,通过训练时间窗中垃圾回收之后的内存占用率,以及该训练时间窗中停机时间对该训练时间窗的异常程度进行调整,有利于提高训练时间窗的异常程度的准确性。
可选的,第二统计信息还包括对应的训练时间窗中垃圾回收的次数。通过更多的参数得到异常程度确定规则,有利于提高检测结果的准确性。
可选的,确定第一检测时间窗中日志信息对应的异常程度之后,还可将第一统计信息与所有第二统计信息进行聚类分析,将第一统计信息与所有第二统计信息分为至少两类;根据每类信息,得到第一检测时间窗和训练时间窗对应的异常程度;根据第一检测时间窗和训练时间窗对应的异常程度,更新异常程度确定规则。通过对异常程度确定规则进行更新,有利于保证异常程度检测结果的准确性。
可选的,在确定第一检测时间窗中日志信息对应的异常程度之后,若存在垃圾回收之后的内存占用率大于预设占用率,并且停机时间大于预设停机时间,并且异常程度为非高度异常的日志信息,则执行以下步骤:将第一统计信息与所有第二统计信息进行聚类分析,将第一统计信息与所有第二统计信息分为至少两类;根据每类信息,得到第一检测时间窗和训练时间窗对应的异常程度;根据第一检测时间窗和训练时间窗对应的异常程度,更新异常程度确定规则。
日志信息的垃圾回收之后的内存占用率大于预设占用率,并且停机时间大于预设停机时间,说明此时可能已出现内存异常,因此,日志信息对应的异常程度应该是高度异常。然而内存异常检测设备根据异常程度确定规则得出的检测结果是日志信息对应的异常程度为非高度异常。显然异常程度确定规则已经不能准确地检测出日志信息对应的异常程度,因此,此时可以重新更新异常程度确定规则。通过实施该实施方式,在异常程度确定规则不能准确地检测出日志信息对应的异常程度时更新异常程度确定规则,有利于节省CPU资源。
第二方面,提供了一种内存异常检测设备,该内存异常检测设备可执行上述第一方面或第一方面可能的实现方式中的方法。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。该模块可以是软件和/或硬件。基于同一发明构思,该内存异常检测设备解决问题的原理以及有益效果可以参见上述第一方面或第一方面可能的实现方式以及有益效果,重复之处不再赘述。
第三方面,提供了一种内存异常检测设备,该内存异常检测设备包括:处理器、存储器、通信接口以及一个或多个程序;处理器、通信接口和存储器相连;其中,一个或多个程序被存储在存储器中,该处理器调用存储在该存储器中的程序以实现上述第一方面或第一方面可能的实现方式中的方案,该内存异常检测设备解决问题的实施方式以及有益效果可以参见上述第一方面或第一方面可能的实现方式以及有益效果,重复之处不再赘述。
第四方面,提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任意可选的实现方式。
附图说明
图1~5是本申请实施例提供的通信系统的示意图;
图6是本申请实施例提供的一种内存异常检测方法的流程示意图;
图7是本申请实施例提供的第一内存日志的部分示意图;
图8是本申请实施例提供的第一检测时间窗的示意图;
图9和图10是本申请实施例提供的第一检测时间窗中的日志信息的异常程度的示意图;
图11是本申请实施例提供的另一种内存异常检测方法的流程示意图;
图12是本申请实施例提供的一种内存异常检测设备的结构示意图;
图13是本申请实施例提供的另一种内存异常检测设备的结构示意图。
具体实施方式
下面结合附图对本申请具体实施例作进一步的详细描述。
为了能够更好地理解本申请实施例,下面对本申请实施例可应用的通信系统进行说明。
图1是使用本申请实施例提供的一种通信系统的示意图。如图1所示,该通信系统包括内存异常检测设备和至少一个第一设备。内存异常检测设备和第一设备之间可以进行通信。其中,第一设备中存储有内存日志。第一设备可以为软件定义网络(softwaredefined network,SDN)控制器、日志服务器或路由器等存储有内存日志的设备。第一设备和内存异常检测设备可部署于同一设备中,或部署于不同的设备中。
例如,如图2所示,该通信系统可应用于SDN网络中。如图2所示,只存在一个第一设备,第一设备为SDN控制器,则SDN控制器和内存异常检测设备可位于同一服务器中。服务器与网管系统连接。网络管理员通过网管系统可对网络进行全面监控。设备A、设备B、设备C和设备D为数据层的物理设备,如交换机等。
再如,如图3所示,存在多个第一设备,第一设备为SDN控制器,则SDN控制器和内存异常检测设备可位于不同的服务器中。
再如,如图4所示,第一设备为SDN控制器,内存异常检测设备可位于网管系统。该通信系统适用于存在一个第一设备和多个第一设备的情况。图4是以存在一个第一设备的情况为例。
再如,如图5所示,第一设备为日志服务器或路由器,内存异常检测设备可位于服务器中。
本申请实施例提供了一种内存异常检测方法及设备,用以解决内存异常检测结果不准确的问题。
下面进一步对本申请所提供的内存异常检测方法及设备进行介绍。
请参见图6,图6是本申请实施例提供的一种内存异常检测方法的流程示意图。该方法的通信系统可参见图1~5所示的通信系统,如图6所示,该内存异常检测方法包括如下601~604部分,其中:
601、内存异常检测设备获取第一内存日志。
本申请实施例中,其中,第一内存日志为第一设备中的日志。
可选的,用户可在内存异常检测设备的相关界面手动从第一设备中上传第一内存日志至内存异常检测设备,或内存异常检测设备可自动从第一设备中获取第一内存日志,或第一内存日志可以是从移动硬盘或U盘等设备中拷贝至内存异常检测设备的。
可选的,第一内存日志可以为垃圾回收日志。例如,第一内存日志可以为Java(garbage first garbage collector,G1GC)G1垃圾收集器日志,C++垃圾回收日志,或其他垃圾回收日志。可选的,第一内存日志的格式可包括但不限于csv、log或txt等格式。
本申请实施例中,第一内存日志包括多次垃圾回收的日志信息,每次垃圾回收的日志信息包括垃圾回收时间,以及包括停机时间、垃圾回收之后的内存占用率和垃圾回收之前的内存占用率中的至少一种。在具体实现时,第一设备可以将最新产生的日志信息实时地发送给内存异常检测设备,即每产生一条日志信息即发送给内存异常检测设备,也可以周期性地将产生的日志信息发送给内存异常检测设备,如每经过10分钟将该10分钟内产生的日志信息发送给所述内存异常检测设备。
例如,图7为第一内存日志的部分示意图,图7以日志信息包括垃圾回收时间,停机时间、垃圾回收之前的内存占用率和垃圾回收之后的内存占用率为例。如图7所示,图7的黑线方框中“2016-10-11T22:37:00.854+0800”为垃圾回收时间,“0.0000670seconds”为停机时间,“Heap before”字段之后所描述的内容为垃圾回收之前的内存占用率,“Heap after”字段之后所描述的内容为垃圾回收之后的内存占用率。
举例来说,若进行了三次垃圾回收,第一内存日志中记录了第一次垃圾回收的日志信息1,日志信息1包括垃圾回收时间1,以及停机时间1,垃圾回收之后的内存占用率1和垃圾回收之前的内存占用率1中的至少一种。第一内存日志中还记录了第二次垃圾回收的日志信息2,日志信息2包括垃圾回收时间2,以及停机时间2,垃圾回收之后的内存占用率2,垃圾回收之前的内存占用率2中的至少一种。第一内存日志中还记录了第三次垃圾回收的日志信息3,日志信息3包括垃圾回收时间3,以及停机时间3,垃圾回收之后的内存占用率3,垃圾回收之前的内存占用率3中的至少一种。
可选的,内存异常检测设备获取第一内存日志之后,可从第一内存日志中提取至少一次垃圾回收的日志信息。内存异常检测设备可从第一内存日志中提取全部或部分垃圾回收的日志信息。例如,第一内存日志中包括10次垃圾回收的日志信息,内存异常检测设备可获取10次垃圾回收的日志信息或获取最近的5次垃圾回收的日志信息。
可选的,内存异常检测设备可根据第一内存日志的字符串格式,解析提取出日志信息。或者,内存异常检测设备可根据第一内存日志中日志信息的相对位置与第一内存日志的字符串格式,解析提取出日志信息。日志信息的相对位置是指日志信息中垃圾回收时间、停机时间、垃圾回收之后的内存占用率和垃圾回收之前的内存占用率之间的相对位置信息。通过日志信息的相对位置可更准确地解析提取出日志信息。
602、内存异常检测设备根据第一检测时间窗中的日志信息,得到该第一检测时间窗对应的第一统计信息。
本申请实施例中,提取的日志信息属于检测时间窗。任一个检测时间窗中的日志信息为垃圾回收时间属于该任一个检测时间窗的日志信息。第一检测时间窗为检测时间窗中的任意一个检测时间窗,第一检测时间窗中的日志信息为垃圾回收时间属于该第一检测时间窗的日志信息。其中,检测时间窗具有固定的窗口宽度和梯度。可选的,第一检测时间窗可以为包括在执行步骤602之前最新产生的日志信息的检测时间窗,即最新的检测时间窗。
举例来说,如图8所示,图8以3个检测时间窗,每个检测时间窗的窗口宽度为4分钟,梯度为3分钟为例。内存异常检测设备从第一内存日志中提取了7个日志信息,分别为日志信息1~日志信息7。日志信息1包括垃圾回收时间1(为9:01:00)、停机时间1(0.01秒)、垃圾回收之前的内存占用率1(90%)和垃圾回收之后的内存占用率1(45%)。日志信息2包括垃圾回收时间2(为9:03:00)、停机时间2(0.01秒)、垃圾回收之前的内存占用率2(85%)和垃圾回收之后的内存占用率2(55%)。日志信息3包括垃圾回收时间3(为9:05:00)、停机时间3(0.01秒)、垃圾回收之前的内存占用率3(90%)和垃圾回收之后的内存占用率3(65%)。日志信息4包括垃圾回收时间4(为9:06:00)、停机时间4(1秒)、垃圾回收之前的内存占用率4(82%)和垃圾回收之后的内存占用率4(70%)。日志信息5包括垃圾回收时间5(为9:08:00)、停机时间5(2秒)、垃圾回收之前的内存占用率5(90%)和垃圾回收之后的内存占用率5(75%)。日志信息6包括垃圾回收时间6(为9:09:00)、停机时间6(3秒)、垃圾回收之前的内存占用率6(85%)和垃圾回收之后的内存占用率6(80%)。日志信息7包括垃圾回收时间7(为9:10:00)、停机时间2(4秒)、垃圾回收之前的内存占用率7(85%)和垃圾回收之后的内存占用率7(85%)。检测时间窗1对应9:00:00~9:05:00,检测时间窗2对应9:04:00~9:08:00,检测时间窗2对应9:07:00~9:11:00。由于,日志信息1~日志信息3中的垃圾回收时间1~垃圾回收时间3均属于检测时间窗1,日志信息3~日志信息5中的垃圾回收时间3~垃圾回收时间5均属于检测时间窗2,日志信息5~日志信息7中的垃圾回收时间5~垃圾回收时间7均属于检测时间窗3。因此,检测时间窗1中包括日志信息1~日志信息3,检测时间窗2中包括日志信息3~日志信息5,检测时间窗3包括日志信息5~日志信息7。
第一检测时间窗可以为检测时间窗1或检测时间窗2或检测时间窗3。
本申请实施例中,第一检测时间窗对应的第一统计信息包括第一检测时间窗中的平均停机时间、第一检测时间窗中最晚的垃圾回收之后的内存占用率相对于第一检测时间窗中最早的垃圾回收之前的内存占用率的变化(可以是变化量或变化率)、第一检测时间窗中最晚的垃圾回收之后的内存占用率中的至少一种。其中,第一检测时间窗中最晚的垃圾回收之后的内存占用率对应第一检测时间窗中最晚的垃圾回收时间,第一检测时间窗中最早的垃圾回收之前的内存占用率对应第一检测时间窗中最早的垃圾回收时间。
例如,若第一检测时间窗中的日志信息包括垃圾回收时间和停机时间,则第一统计信息可以包括平均停机时间。若第一检测时间窗中的日志信息包括垃圾回收时间和垃圾回收之后的内存占用率,则第一统计信息可以包括第一检测时间窗中最晚的垃圾回收之后的内存占用率。若第一检测时间窗中的日志信息包括垃圾回收时间、垃圾回收之前的内存占用率和垃圾回收之后的内存占用率,则第一统计信息可以包括第一检测时间窗中最晚的垃圾回收之后的内存占用率相对于第一检测时间窗中最早的垃圾回收之前的内存占用率的变化,或者还可以包括第一检测时间窗中最晚的垃圾回收之后的内存占用率。
例如,以第一检测时间窗为上述检测时间窗1为例。检测时间窗1包括垃圾回收时间1~垃圾回收时间3。垃圾回收时间1~垃圾回收时间3的平均值为0.01秒,因此第一检测时间窗中的平均停机时间为0.01秒。
第一检测时间窗中最晚的垃圾回收时间为垃圾回收时间3,垃圾回收时间3对应垃圾回收之后的内存占用率3。因此,第一检测时间窗中最晚的垃圾回收之后的内存占用率为垃圾回收之后的内存占用率3。
第一检测时间窗中最早的垃圾回收时间为垃圾回收时间1,垃圾回收时间1对应垃圾回收之前的内存占用率1。因此,第一检测时间窗中最早的垃圾回收之前的内存占用率为垃圾回收之前的内存占用率1。因此,第一检测时间窗中最晚的垃圾回收之后的内存占用率相对于第一检测时间窗中最早的垃圾回收之前的内存占用率的变化为垃圾回收之后的内存占用率3(即65%)相较于垃圾回收之前的内存占用率1(即90%)的变化,即25%(以变化量为例)。
因此,第一检测时间窗对应的第一统计信息包括平均停机时间0.01秒,第一检测时间窗中最早的垃圾回收之前的内存占用率的变化为垃圾回收之后的内存占用率3相较于垃圾回收之前的内存占用率1的变化25%,以及第一检测时间窗中最晚的垃圾回收之后的内存占用率,即垃圾回收之后的内存占用率3(65%)。
其他检测时间窗对应的第一统计信息的计算原理和检测时间窗1的计算原理相同,在此不赘述。
603、内存异常检测设备根据第一检测时间窗中的第一统计信息,确定第一检测时间窗中的日志信息对应的异常程度。
其中,日志信息对应的异常程度可以用于表征内存在该日志信息对应的垃圾回收时间的异常程度。可选的,一个检测时间窗中包括一次垃圾回收的日志信息,也可以包括多次垃圾回收的日志信息。也就是说,第一检测时间窗中包括一次垃圾回收的日志信息,也可以包括多次垃圾回收的日志信息。
可见,通过实施图6所描述的方法,内存异常检测设备不是根据单次垃圾回收后的内存占用率来判断日志信息的异常程度,而是根据一段时间内的日志信息的统计信息来判断日志信息的异常程度,即根据第一检测时间窗对应的第一统计信息,确定第一检测时间窗中的日志信息对应的异常程度。日志信息的异常程度可以用于表征内存在该日志信息对应的垃圾回收时间的异常程度,因此,内存异常检测的准确率比较高。
并且在现有技术中,仅仅根据一次垃圾回收的垃圾回收之后的内存占有率确定内存的异常程度,内存异常检测的准确率较低。而本申请中,日志信息不止包括垃圾回收之后的内存占有率,还可包括停机时间和垃圾回收之前的内存占用率。因此,内存异常检测设备可根据一段时间内的包括多个维度信息的日志信息来确定内存对应的异常程度,这样可更加准确地确定内存对应的异常程度。
可选的,内存异常检测设备根据第一检测时间窗对应的第一统计信息,确定第一检测时间窗中日志信息对应的异常程度的具体实施方式可以为:内存异常检测设备根据第一统计信息,确定第一检测时间窗对应的异常程度;内存异常检测设备将第一检测时间窗对应的异常程度确定为第一检测时间窗中的第一日志信息对应的异常程度。
可选的,第一日志信息为属于第一检测时间窗且不属于位于第一检测时间窗之前的检测时间窗的日志信息。也就是说,多个检测时间窗共同拥有的日志信息对应的异常程度为该多个检测时间窗中最早的检测时间窗的异常程度。
举例来说,第一检测时间窗为检测时间窗1或检测时间窗2或检测时间窗3。如图9所示,内存异常检测设备将检测时间窗1对应的低度异常确定为日志信息1、日志信息2和日志信息3对应的异常程度。由于检测时间窗1和检测时间窗2均包括日志信息3,因此,内存异常检测设备只将检测时间窗2对应的中度异常确定为日志信息4和日志信息5对应的异常程度。同理,由于检测时间窗2和检测时间窗3均包括日志信息5,因此,内存异常检测设备只将检测时间窗3对应的高度异常确定为日志信息6和日志信息7对应的异常程度。
可选的,第一日志信息为第一检测时间窗中的任一日志信息。也就是说,多个检测时间窗共同拥有的日志信息对应的异常程度为该多个检测时间窗中最晚的检测时间窗的异常程度。如图10所示,第一检测时间窗为检测时间窗1或检测时间窗2或检测时间窗3。内存异常检测设备将检测时间窗1对应的低度异常确定为日志信息1、日志信息2和日志信息3对应的异常程度。内存异常检测设备将检测时间窗2对应的中度异常确定为日志信息3、日志信息4和日志信息5对应的异常程度。内存异常检测设备将检测时间窗3对应的高度异常确定为日志信息5、日志信息6和日志信息7对应的异常程度。因此,最终日志信息3对应的异常程度为检测时间窗2对应的中度异常。最终日志信息5对应的异常程度为检测时间窗3对应的高度异常。
可选的,内存异常检测设备确定第一检测时间窗中日志信息对应的异常程度之后,若第一检测时间窗中存在高度异常的日志信息,并且该高度异常的日志信息中的垃圾回收之后的内存占用率小于预设占有率,并且该高度异常的日志信息中的停机时间小于预设停机时间,则将该高度异常的日志信息对应的异常程度调整为非高度异常(如低度异常或中度异常)。若该高度异常的日志信息中的垃圾回收之后的内存占用率大于预设占用率,或者该高度异常的日志信息中的垃圾回收之后的内存占用率大于预设停机时间,则保持该高度异常的日志信息对应的异常程度为高度异常。
举例来说,若第一检测时间窗中的日志信息1为高度异常,日志信息1包括的垃圾回收之后的内存占用率为74%,日志信息1包括的停机时间为1.5秒。若预设占用率为80%,预设停机时间为2秒。由于日志信息1包括的垃圾回收之后的内存占用率不大于预设占用率,并且日志信息中的停机时间小于预设停机时间,则内存异常检测设备将该日志信息1的异常程度调整为中度异常。
内存占用率越高,停机时间越长,内存出现异常的可能性越高。因此,通过日志信息中垃圾回收之后的内存占用率,以及该日志信息中停机时间对该日志信息的异常程度进行调整,有利于提高日志信息的异常程度的准确性。
可选的,第一统计信息还包括第一检测时间窗中垃圾回收的次数。通过更多的参数对内存异常程度进行检测,有利于提高检测结果的准确性。其他任一检测时间窗对应的统计信息也包括该任一检测时间窗的垃圾回收的次数。
可选的,若在预设时间段内连续出现预设次数的高度异常的日志信息,内存异常检测设备可对内存异常进行告警。通过实施该实施方式,可及时对内存异常发出告警,以便及时采用措施解决内存异常。
举例来说,若在连续5分钟内存在日志信息1~日志信息4,日志信息1~日志信息4均为高度异常,日志信息1包括垃圾回收时间1(为9:01:00),日志信息2包括垃圾回收时间2(为9:02:00),日志信息3包括垃圾回收时间2(为9:03:00),日志信息4包括垃圾回收时间2(为9:04:00),则在5分钟内连续出现4次高度异常的垃圾回收时间。若预设时间段为5分钟,预设次数为4次,则内存异常检测设备对内存异常进行告警。
可选的,内存异常检测设备根据第一检测时间窗对应的第一统计信息,确定第一检测时间窗中的日志信息的异常程度的具体实施方式可以为:内存异常检测设备根据异常程度确定规则和第一检测时间窗对应的第一统计信息,确定第一检测时间窗中的日志信息的异常程度,该异常程度确定规则为预先根据第二内存日志中包括的停机时间、垃圾回收之后的内存占用率和垃圾回收之前的内存占用率中的至少一种以及垃圾回收时间得到的。
异常程度确定规则是根据第二内存日志中包括的垃圾回收时间、停机时间和垃圾回收之后的内存占用率分析计算得到的,异常程度确定规则并不是人为设定的规则。因此,通过实施该实施方式,有利于提高内存异常程度检测结果的准确性。
可选的,第二内存日志可以为从第一设备接收的内存日志,或可以为从其他设备接收的内存日志。可选的,第二内存日志可以为垃圾回收日志。例如,第二内存日志可以为Java G1GC日志,C++垃圾回收日志,或其他垃圾回收日志。可选的,第二内存日志与第一内存日志为相同类型的内存日志。例如,第二内存日志与第一内存日志都为Java G1GC日志,第二内存日志与第一内存日志都为C++垃圾回收日志。可选的,第二内存日志的格式可包括但不限于csv、log或txt等格式。
可选的,异常程度确定规则包括分别对应不同异常程度的条件,内存异常检测设备根据异常程度确定规则和第一检测时间窗对应的第一统计信息,确定第一检测时间窗中的日志信息的异常程度的具体实施方式可以为:内存异常检测设备将第一检测时间窗的第一统计信息所满足的条件对应的异常程度确定为第一检测时间窗的异常程度;根据第一检测时间窗对应的异常程度,确定第一检测时间窗中的日志信息对应的异常程度。例如,将第一检测时间窗对应的异常程度确定为第一检测时间窗中的第一日志信息对应的异常程度。第一日志信息为第一检测时间窗中的任一日志信息。或者,第一日志信息为属于第一检测时间窗且不属于位于第一检测时间窗之前的检测时间窗的日志信息。
举例来说,异常程度确定规则为:第一统计信息中平均停机时间处于0~2秒的闭区间,并且该第一统计信息包括的第一检测时间窗中最晚的垃圾回收之后的内存占用率处于60%~70%的闭区间,并且该第一统计信息包括的第一检测时间窗中最晚的垃圾回收之后的内存占用率相对于第一检测时间窗中最早的垃圾回收之前的内存占用率的变化量处于20%~30%的闭区间,则确定该第一检测时间窗对应的异常程度为低度异常;第一统计信息中平均停机时间处于0~2秒的闭区间,并且该第一统计信息包括的第一检测时间窗中最晚的垃圾回收之后的内存占用率大于70%,且小于或等于80%,并且第一统计信息包括的第一检测时间窗中最晚的垃圾回收之后的内存占用率相对于第一检测时间窗中最早的垃圾回收之前的内存占用率的变化量大于10%且小于20%,则确定该第一检测时间窗对应的异常程度为中度异常;第一统计信息中平均停机时间大于2秒,并且该第一统计信息包括的第一检测时间窗中最晚的垃圾回收之后的内存占用率大于80%,并且第一统计信息包括的第一检测时间窗中最晚的垃圾回收之后的内存占用率相对于第一检测时间窗中最早的垃圾回收之前的内存占用率的变化量大于或等于0,且小于或等于10%,则确定该第一检测时间窗对应的异常程度为高度异常。其他情况,则确定为无异常。
可选的,如图11所示,内存异常检测设备在获取第一内存日志之前,还可执行以下1101~1107部分:
1101、内存异常检测设备获取第二内存日志。
第二内存日志包括多次垃圾回收的日志信息,每次垃圾回收的日志信息包括垃圾回收时间,以及包括停机时间、垃圾回收之后的内存占用率和垃圾回收之前的内存占用率中的至少一种。
例如,若进行了三次垃圾回收,第二内存日志中记录了第一次垃圾回收的日志信息1,该日志信息1包括垃圾回收时间1,以及停机时间1,垃圾回收之后的内存占用率1,垃圾回收之前的内存占用率1中的至少一种。第二内存日志中还记录了第二次垃圾回收的日志信息2,该日志信息2包括垃圾回收时间2,以及停机时间2,垃圾回收之后的内存占用率2,垃圾回收之前的内存占用率2中的至少一种。第二内存日志中还记录了第三次垃圾回收的日志信息3,该日志信息3包括垃圾回收时间3,以及停机时间3,垃圾回收之后的内存占用率3,垃圾回收之前的内存占用率3中的至少一种。
本申请实施例中,内存异常检测设备获取第二内存日志之后,可从第二内存日志中提取至少两次垃圾回收的日志信息。内存异常检测设备可从第二内存日志中提取全部或部分垃圾回收的日志信息。例如,第二内存日志中包括10次垃圾回收的日志信息,内存异常检测设备可获取10次垃圾回收的日志信息或获取最近的5次垃圾回收的日志信息。
可选的,内存异常检测设备可根据第二内存日志的字符串格式,解析提取出日志信息。或者,内存异常检测设备可根据第二内存日志中日志信息的相对位置与第二内存日志的字符串格式,解析提取出日志信息。日志信息的相对位置是指日志信息中垃圾回收时间、停机时间、垃圾回收之后的内存占用率和垃圾回收之前的内存占用率之间的相对位置信息。通过日志信息的相对位置可更准确地解析提取出日志信息。
1102、内存异常检测设备对于多个训练时间窗中的任一训练时间窗,根据该任一训练时间窗中的日志信息确定该任一训练时间窗对应的第二统计信息。
本申请实施例中,从第二内存日志中提取的日志信息属于训练时间窗。任一个训练时间窗中的日志信息为垃圾回收时间属于该任一个训练时间窗的日志信息。例如,训练时间窗1中的日志信息为垃圾回收时间属于该训练时间窗1的日志信息。训练时间窗2中的日志信息为垃圾回收时间属于该训练时间窗2的日志信息。其中,训练时间窗具有固定的窗口宽度和梯度。训练时间窗与检测时间窗的窗口宽度相同,训练时间窗与检测时间窗的梯度相同。
其中,任一训练时间窗对应的第二统计信息包括该任一训练时间窗中的平均停机时间、该任一训练时间窗中最后一次垃圾回收之后的内存占用率相对于该任一训练时间窗中最早的垃圾回收之前的内存占用率的变化、该任一训练时间窗中最晚的垃圾回收之后的内存占用率中的至少一种。其中,该任一训练时间窗中最晚的垃圾回收之后的内存占用率对应该任一训练时间窗中最晚的垃圾回收时间,该任一训练时间窗中最早的垃圾回收之前的内存占用率对应该任一训练时间窗中最早的垃圾回收时间。
举例来说,以3个训练时间窗,每个训练时间窗的窗口宽度为4分钟,梯度为3分钟为例。内存异常检测设备从第二内存日志中提取了7个日志信息,分别为日志信息1~日志信息7。日志信息1包括垃圾回收时间1(为9:01:00)、停机时间1(0.01秒)、垃圾回收之前的内存占用率1(90%)和垃圾回收之后的内存占用率1(45%)。日志信息2包括垃圾回收时间2(为9:03:00)、停机时间2(0.01秒)、垃圾回收之前的内存占用率2(85%)和垃圾回收之后的内存占用率2(55%)。日志信息3包括垃圾回收时间3(为9:05:00)、停机时间3(0.01秒)、垃圾回收之前的内存占用率3(90%)和垃圾回收之后的内存占用率3(65%)。日志信息4包括垃圾回收时间4(为9:06:00)、停机时间4(1秒)、垃圾回收之前的内存占用率4(82%)和垃圾回收之后的内存占用率4(70%)。日志信息5包括垃圾回收时间5(为9:08:00)、停机时间5(2秒)、垃圾回收之前的内存占用率5(90%)和垃圾回收之后的内存占用率5(75%)。日志信息6包括垃圾回收时间6(为9:09:00)、停机时间6(3秒)、垃圾回收之前的内存占用率6(85%)和垃圾回收之后的内存占用率6(80%)。日志信息7包括垃圾回收时间7(为9:10:00)、停机时间2(4秒)、垃圾回收之前的内存占用率7(85%)和垃圾回收之后的内存占用率7(85%)。训练时间窗1对应9:00:00~9:05:00,训练时间窗2对应9:04:00~9:08:00,训练时间窗2对应9:07:00~9:11:00。由于,日志信息1~日志信息3中的垃圾回收时间1~垃圾回收时间3均属于训练时间窗1,日志信息3~日志信息5中的垃圾回收时间3~垃圾回收时间5均属于训练时间窗2,日志信息5~日志信息7中的垃圾回收时间5~垃圾回收时间7均属于训练时间窗3。因此,训练时间窗1中包括日志信息1~日志信息3,训练时间窗2中包括日志信息3~日志信息5,训练时间窗3包括日志信息5~日志信息7。
内存异常检测设备根据训练时间窗1中的日志信息1~日志信息3确定训练时间窗1对应的第二统计信息1,根据训练时间窗2中的日志信息3~日志信息5确定训练时间窗2对应的第二统计信息2,根据训练时间窗3中的日志信息5~日志信息7确定训练时间窗3对应的第二统计信息3。
训练时间窗1对应的第二统计信息1包括训练时间窗1中垃圾回收时间1~垃圾回收时间3的平均停机时间(即0.01秒)、训练时间窗1中最后一次垃圾回收之后的内存占用率相对于训练时间窗1中最早的垃圾回收之前的内存占用率的变化(即25%)、训练时间窗1中最后一个垃圾回收之后的内存占用率(即65%)。
训练时间窗2对应的第二统计信息2包括训练时间窗2中的平均停机时间(即约等于1秒)、训练时间窗2中最后一次垃圾回收之后的内存占用率相对于训练时间窗2中最早的垃圾回收之前的内存占用率的变化(即15%)、训练时间窗2中最后一个垃圾回收之后的内存占用率(即75%)。
训练时间窗3对应的第二统计信息3包括训练时间窗3中的平均停机时间(即3秒)、训练时间窗3中最后一次垃圾回收之后的内存占用率相对于训练时间窗3中最早的垃圾回收之前的内存占用率的变化(即5%)、训练时间窗3中最后一个垃圾回收之后的内存占用率中(即85%)。
1103、内存异常检测设备根据该多个训练时间窗对应的第二统计信息,确定该多个训练时间窗中的每一个训练时间窗对应的异常程度。
例如,存在训练时间窗1~训练时间窗3,内存异常检测设备训练时间窗1对应的第二统计信息1,训练时间窗2对应的第二统计信息2和训练时间窗3对应的第二统计信息3,确定训练时间窗1~训练时间窗3中每一个训练时间窗对应的异常程度。
可选的,内存异常检测设备根据多个训练时间窗对应的第二统计信息,确定多个训练时间窗中的每一个训练时间窗对应的异常程度的具体实施方式可以为:内存异常检测设备对多个训练时间窗对应的第二统计信息进行聚类,以将该多个训练时间窗对应的第二统计信息分为至少两类;内存异常检测设备根据该至少两类的第二统计信息,得到该至少两类中的每类第二统计信息对应的异常程度;内存异常检测设备根据该至少两类中的每类第二统计信息对应的异常程度,确定每个训练时间窗对应的异常程度,其中,任意一个训练时间窗对应的异常程度为该任意一个训练时间窗对应的第二统计信息所在类对应的异常程度。
聚类是指将数据分类到不同的类,因此同一类中的对象有很大的相似性,而不同类间的对象有很大的相异性。可选的,进行聚类使用的聚类算法可以是Kmeans算法。可选的,可以预先设置聚类出的类数。聚类出的类数等于异常程度的种类数量。例如,具有3种异常程度,分别为低度异常、中度异常和高度异常。可以预先设置聚类出的类数为3类,则最后就聚类出3类第二统计信息,从而每一类第二统计信息可对应一种异常程度。
可选的,内存异常检测设备根据至少两类的第二统计信息,得到每类第二统计信息对应的异常程度的具体实施方式可以为:对于至少两类中的任一类第二统计信息,计算该任一类第二统计信息中的目标数据的平均值,该目标数据为该任一类第二统计信息中的一种数据,其中,每个第二统计信息的目标数据为同一种数据;根据计算得到的所有平均值的大小,确定至少两类中的每类第二统计信息对应的异常程度。
也就是说,第二统计信息包括一种或多种数据时,内存异常检测设备对于至少两类中的任一类第二统计信息,计算该任一类第二统计信息中的仅一种数据的平均值,再根据计算得到的所有平均值的大小,确定该至少两类中的每类第二统计信息对应的异常程度。例如,第二统计信息只包括最晚的垃圾回收之后的内存占用率时,内存异常检测设备对于至少两类中的任一类第二统计信息,计算该任一类第二统计信息中最晚的垃圾回收之后的内存占用率的平均值,再根据计算得到的所有平均值的大小,确定至少两类中的每类第二统计信息对应的异常程度。
再如,该至少两类第二统计信息为两类第二统计信息。第二统计信息包括平均停机时间和最晚的垃圾回收之后的内存占用率时,内存异常检测设备对于第一类第二统计信息,计算该第一类第二统计信息中平均停机时间的平均值1;内存异常检测设备对于第二类第二统计信息,计算该第二类第二统计信息中平均停机时间的平均值2,再根据计算得到的平均值1和平均值2的大小,确定该至少两类中的每类第二统计信息对应的异常程度。也就是说,第一类统计信息和第二类统计信息中的目标数据均为平均停机时间。或者,内存异常检测设备对于至少两类中的任一类第二统计信息,计算该任一类第二统计信息中最晚的垃圾回收之后的内存占用率的平均值,再根据计算得到的所有平均值的大小,确定至少两类中的每类第二统计信息对应的异常程度。也就是说,第一类统计信息和第二类统计信息中的目标数据均为最晚的垃圾回收之后的内存占用率的平均值。
可选的,若目标数据为平均停机时间或最晚的垃圾回收之后的内存占用率,则至少两类中的第一类第二统计信息中的目标数据的平均值小于第二类第二统计信息的目标数据的平均值,第一类第二统计信息对应的异常程度小于第二类第二统计信息对应的异常程度。也就是说,某一类第二统计信息计算出的平均值越大,该类第二统计信息对应的异常程度就越高。
可选的,若任一训练时间窗对应的第二统计信息中的目标数据为该任一训练时间窗中最后一次垃圾回收之后的内存占用率相对于该任一训练时间窗中最早的垃圾回收之前的内存占用率的变化,则至少两类中的第一类第二统计信息中的目标数据的平均值小于第二类第二统计信息的目标数据的平均值,第一类第二统计信息对应的异常程度大于第二类第二统计信息对应的异常程度。也就是说,某一类第二统计信息计算出的平均值越大,该类第二统计信息对应的异常程度就越低。
举例来说,具有6个训练时间窗,分别为训练时间窗1~训练时间窗6。训练时间窗1对应第二统计信息1,训练时间窗2对应第二统计信息2,训练时间窗3对应第二统计信息3,训练时间窗4对应第二统计信息4,训练时间窗5对应第二统计信息5,训练时间窗6对应第二统计信息6。
异常程度包括低度异常、中度异常和高度异常。预先设置聚类出的类数为3类。对训练时间窗1~训练时间窗6对应的第二统计信息进行聚类分析,将训练时间窗1和训练时间窗2对应的第二统计信息1和第二统计信息2分为第一类。将训练时间窗3和训练时间窗4对应的第二统计信息3和第二统计信息4为第二类。将训练时间窗5和训练时间窗6对应的第二统计信息5和第二统计信息6分为第三类。
以任一训练时间窗对应的第二统计信息包括平均停机时间为例(即任一训练时间窗对应的第二统计信息仅包括评价平均停机时间的情况,或任一训练时间窗对应的第二统计信息除包括评价平均停机时间之外,还包括其他数据的情况),可通过以下方式确定训练时间窗1~训练时间窗6对应的异常程度。内存异常检测设备对二统计信息1和第二统计信息2包括的平均停机时间求平均值,得到平均值为1秒。内存异常检测设备对第二统计信息3和第二统计信息4包括的平均停机时间求平均值,得到平均值为2秒。内存异常检测设备对二统计信息5和第二统计信息6包括的平均停机时间求平均值,得到平均值为3秒。停机时间越长,异常程度越高。因此,可确定第一类第二统计信息对应低度异常,确定第二类第二统计信息对应中度异常,确定第三类第二统计信息对应高度异常。内存异常检测设备将第一类第二统计信息对应的低度异常确定为训练时间窗1和训练时间窗2对应的异常程度。内存异常检测设备将第二类第二统计信息对应的中度异常确定为训练时间窗3和训练时间窗4对应的异常程度。内存异常检测设备将第三类第二统计信息对应的高度异常确定为训练时间窗5和训练时间窗6对应的异常程度。
以任一训练时间窗对应的第二统计信息包括该任一训练时间窗中最后一个垃圾回收之后的内存占用率为例(即任一训练时间窗对应的第二统计信息仅包括该任一训练时间窗中最后一个垃圾回收之后的内存占用率的情况,或任一训练时间窗对应的第二统计信息除包括该任一训练时间窗中最后一个垃圾回收之后的内存占用率之外,还包括其他数据的情况),可通过以下方式确定训练时间窗1~训练时间窗6对应的异常程度。
内存异常检测设备对二统计信息1和第二统计信息2包括的最晚的垃圾回收之后的内存占有率求平均值,得到平均值为65%。内存异常检测设备对二统计信息3和第二统计信息4的最晚的垃圾回收之后的内存占有率求平均值,得到平均值为75%。内存异常检测设备对二统计信息5和第二统计信息6的最晚的垃圾回收之后的内存占有率求平均值,得到平均值为85%。垃圾回收之后的内存占有率越长,异常程度越高。因此,可确定第一类第二统计信息对应低度异常,确定第二类第二统计信息对应中度异常,确定第三类第二统计信息对应高度异常。内存异常检测设备将第一类第二统计信息对应的低度异常确定为训练时间窗1和训练时间窗2对应的异常程度。内存异常检测设备将第二类第二统计信息对应的中度异常确定为训练时间窗3和训练时间窗4对应的异常程度。内存异常检测设备将第三类第二统计信息对应的高度异常确定为训练时间窗5和训练时间窗6对应的异常程度。
以任一训练时间窗对应的第二统计信息包括该任一训练时间窗中最后一次垃圾回收之后的内存占用率相对于该任一训练时间窗中最早的垃圾回收之前的内存占用率的变化为例(即任一训练时间窗对应的第二统计信息仅包括该任一训练时间窗中最后一次垃圾回收之后的内存占用率相对于该任一训练时间窗中最早的垃圾回收之前的内存占用率的变化的情况,或任一训练时间窗对应的第二统计信息除包括该任一训练时间窗中最后一次垃圾回收之后的内存占用率相对于该任一训练时间窗中最早的垃圾回收之前的内存占用率的变化之外,还包括其他数据的情况),可通过以下方式确定训练时间窗1~训练时间窗6对应的异常程度。
例如,内存异常检测设备对二统计信息1和第二统计信息2包括的同一训练时间窗中最后一次垃圾回收之后的内存占用率相对于最早的垃圾回收之前的内存占用率的变化求平均值,得到平均值为25%。内存异常检测设备对二统计信息3和第二统计信息4包括的同一训练时间窗中最后一次垃圾回收之后的内存占用率相对于最早的垃圾回收之前的内存占用率的变化求平均值,得到平均值为15%。内存异常检测设备对二统计信息5和第二统计信息6包括的同一训练时间窗中最后一次垃圾回收之后的内存占用率相对于最早的垃圾回收之前的内存占用率的变化求平均值,得到平均值为5%。同一训练时间窗中最后一次垃圾回收之后的内存占用率相对于最早的垃圾回收之前的内存占用率的变化越小,异常程度越高。因此,可确定第一类第二统计信息对应低度异常,确定第二类第二统计信息对应中度异常,确定第三类第二统计信息对应高度异常。内存异常检测设备将第一类第二统计信息对应的低度异常确定为训练时间窗1和训练时间窗2对应的异常程度。内存异常检测设备将第二类第二统计信息对应的中度异常确定为训练时间窗3和训练时间窗4对应的异常程度。内存异常检测设备将第三类第二统计信息对应的高度异常确定为训练时间窗5和训练时间窗6对应的异常程度。
可选的,若第二统计信息包括多种数据,则根据至少两类的第二统计信息,得到该至少两类中的每类第二统计信息对应的异常程度的具体实施方式可以为:内存异常检测设备对于至少两类中的任一类第二统计信息,计算该任一类第二统计信息中的该多种数据中每种数据对应的平均值,对该每种数据对应的平均值进行加权求和,得到该任一类第二统计信息对应的第一数值;再根据得到的所有第一数值的大小,确定该至少两类中的每类第二统计信息对应的异常程度。
例如,以任一训练时间窗对应的第二统计信息包括平均停机时间、该任一训练时间窗中最后一次垃圾回收之后的内存占用率相对于该任一训练时间窗中最早的垃圾回收之前的内存占用率的变化、该任一训练时间窗中最晚的垃圾回收之后的内存占用率和该任一训练时间窗中垃圾回收的次数为例。
内存异常检测设备对训练时间窗1~训练时间窗6对应的第二统计信息进行聚类分析,将训练时间窗1和训练时间窗2对应的第二统计信息1和第二统计信息2分为第一类。将训练时间窗3和训练时间窗4对应的第二统计信息3和第二统计信息4为第二类。将训练时间窗5和训练时间窗6对应的第二统计信息5和第二统计信息6分为第三类。
对于第一类第二统计信息,内存异常检测设备对第二统计信息1和第二统计信息2包括的平均停机时间求平均值,得到平均值为a1。内存异常检测设备对二统计信息1和第二统计信息2包括的最晚的垃圾回收之后的内存占有率求平均值,得到平均值为b1。内存异常检测设备对二统计信息1和第二统计信息2包括的同一训练时间窗中最后一次垃圾回收之后的内存占用率相对于最早的垃圾回收之前的内存占用率的变化求平均值,得到平均值为c1。内存异常检测设备对二统计信息1和第二统计信息2包括的垃圾回收次数求平均值,得到平均值为d1。内存异常检测设备对a1、b1、c1和d1进行加权求和,得到第一数值1。例如,加权求和的公式为M1=a1*50%+b1*20%-c1*20%-d1*10%,其中M1为第一数值1,a1的加权系数为50%,b1的加权系数为20%,c1的加权系数为-20%,d1的加权系数为-10%。
同理,对于第二类第二统计信息,内存异常检测设备对二统计信息3和第二统计信息4包括的平均停机时间求平均值,得到平均值为a2。内存异常检测设备对二统计信息3和第二统计信息4包括的最晚的垃圾回收之后的内存占有率求平均值,得到平均值为b2。内存异常检测设备对二统计信息3和第二统计信息4包括的同一训练时间窗中最后一次垃圾回收之后的内存占用率相对于最早的垃圾回收之前的内存占用率的变化求平均值,得到平均值为c2。内存异常检测设备对二统计信息3和第二统计信息4包括的垃圾回收次数求平均值,得到平均值为d2。内存异常检测设备对a2、b2、c2和d2进行加权求和,得到第一数值2。加权求和的公式为M2=a2*50%+b2*20%-c2*20%-d2*10%,其中M2为第一数值2,a2的加权系数为50%,b2的加权系数为20%,c2的加权系数为-20%,d2的加权系数为-10%。
同理,对于第三类第二统计信息,内存异常检测设备对二统计信息5和第二统计信息6包括的平均停机时间求平均值,得到平均值为a3。内存异常检测设备对二统计信息5和第二统计信息6包括的最晚的垃圾回收之后的内存占有率求平均值,得到平均值为b3。内存异常检测设备对二统计信息5和第二统计信息6包括的同一训练时间窗中最后一次垃圾回收之后的内存占用率相对于最早的垃圾回收之前的内存占用率的变化求平均值,得到平均值为c3。内存异常检测设备对二统计信息5和第二统计信息6包括的垃圾回收次数求平均值,得到平均值为d3。内存异常检测设备对a3、b3、c3和d3进行加权求和,得到第一数值3。加权求和的公式为M3=a3*50%+b3*20%-c3*20%-d3*10%,其中M3为第一数值3,a3的加权系数为50%,b3的加权系数为20%,c3的加权系数为-20%,d3的加权系数为-10%。
第一数值越大,异常程度越高。若第一数值1小于第一数值2,第一数值2小于第一数值3,则可确定第一类第二统计信息对应低度异常,第二类第二统计信息对应中度异常,第三类第二统计信息对应高度异常。内存异常检测设备将第一类第二统计信息对应的低度异常确定为训练时间窗1和训练时间窗2对应的异常程度。内存异常检测设备将第二类第二统计信息对应的中度异常确定为训练时间窗3和训练时间窗4对应的异常程度。内存异常检测设备将第三类第二统计信息对应的高度异常确定为训练时间窗5和训练时间窗6对应的异常程度。
1104、内存异常检测设备根据每一个训练时间窗对应的第二统计信息和异常程度,确定异常程度确定规则。
可选的,可通过决策树(decision tree)或神经网络(artificial neuralnetwork,ANN)训练得到异常程度确定规则。
可选的,第二统计信息还包括对应时间窗中的垃圾回收的次数。通过更多的参数得到异常程度确定规则,有利于提高检测结果的准确性。
例如,异常程度确定规则可以为:第一检测时间窗对应的第一统计信息中平均停机时间处于0~2秒的闭区间,并且该第一统计信息包括的第一检测时间窗中最后一个垃圾回收之后的内存占用率处于60%~70%的闭区间,并且该第一统计信息包括的第一检测时间窗中最晚的垃圾回收之后的内存占用率相对于第一检测时间窗中最早的垃圾回收之前的内存占用率的变化量处于20%~30%的闭区间,并且该第一统计信息中垃圾回收的次数在1~5次之内,则确定该第一检测时间窗对应的异常程度为低度异常;第一检测时间窗对应的第一统计信息中平均停机时间处于0~2秒的闭区间,并且该第一统计信息包括的第一检测时间窗中最晚的垃圾回收之后的内存占用率大于70%,且小于或等于80%,并且该第一统计信息包括的第一检测时间窗中最后一个垃圾回收之后的内存占用率相对于第一检测时间窗中最早的垃圾回收之前的内存占用率的变化量大于10%且小于20%,并且该第一统计信息中垃圾回收的次数在5~10次之内,则确定该第一检测时间窗对应的异常程度为中度异常;第一检测时间窗对应的第一统计信息中平均停机时间大于2秒,并且该第一统计信息包括的第一检测时间窗中最晚的垃圾回收之后的内存占用率大于80%,并且该第一统计信息包括的第一检测时间窗中最晚的垃圾回收之后的内存占用率相对于同一个第一检测时间窗中最早的垃圾回收之前的内存占用率的变化量大于或等于0,且小于或等于10%,并且该第一统计信息中垃圾回收的次数在10~15次之内,则确定该第一检测时间窗对应的异常程度为高度异常。其他情况,则确定为无异常。
可见,通过实施1101~1105部分,无需人为设置异常程度确定规则,内存异常检测设备可基于第二内存日志中的信息,计算分析得到异常程度确定规则,并且异常程度确定规则是基于第二内存日志中的大量数据计算得到的,因此,使用异常程度确定规则对新接收的第一内存日志进行内存异常检测,可提高检测结果的准确性。
可选的,内存异常检测设备根据每类第二统计信息对应的异常程度,确定每个训练时间窗对应的异常程度之后,以及根据每一个训练时间窗对应的第二统计信息和异常程度确异常程度确定规则之前,若存在高度异常的训练时间窗,并且高度异常的训练时间窗中最大的垃圾回收之后的内存占用率小于预设占有率,并且高度异常的训练时间窗中最大的停机时间小于预设停机时间,则将高度异常的训练时间窗对应的异常程度调整为非高度异常(如低度异常、中度异常等非高度异常)。否则,则保持该高度异常的训练时间窗对应的异常程度为高度异常。
可选的,对训练时间窗对应的异常程度进行校准使用的预设占用率和预设停机时间可以与对第一检测时间窗中高度异常的日志信息对应的异常程度进行校准使用的预设占用率和预设停机时间相同。
举例来说,训练时间窗1对应高度异常。训练时间窗1包括日志信息1和日志信息2。日志信息1包括的垃圾回收之后的内存占用率为75%,日志信息1包括的停机时间为0.01秒。日志信息2包括的垃圾回收之后的内存占用率为70%,日志信息2包括的停机时间为1秒。可见,训练时间窗1包括的最大的垃圾回收之后的内存占用率为75%,训练时间窗中最大的停机时间为1秒。预设占用率为80%,预设停机时间为2秒。由于训练时间窗1包括的最大的垃圾回收之后的内存占用率小于预设占用率,并且训练时间窗中最大的停机时间未超过预设停机时间,则将该训练时间窗1的异常程度调整为非高度异常。
内存占用率越高,停机时间越长,内存出现异常的可能性越高。因此,通过训练时间窗中垃圾回收之后的内存占用率,以及该训练时间窗中停机时间对该训练时间窗的异常程度进行调整,有利于提高训练时间窗的异常程度的准确性。
可选的,内存异常检测设备确定第一检测时间窗中日志信息对应的异常程度之后,还可将第一统计信息与所有第二统计信息进行聚类分析,将第一统计信息与所有第二统计信息分为至少两类;根据每类信息,得到第一检测时间窗和训练时间窗对应的异常程度;根据第一检测时间窗和训练时间窗对应的异常程度,更新异常程度确定规则。通过对异常程度确定规则进行更新,有利于保证异常程度检测结果的准确性。
举例来说,第一检测时间窗对应的第一统计信息1,检测时间窗2对应的第一统计信息2,检测时间窗3对应的第一统计信息3,训练时间窗1对应的第二统计信息1,训练时间窗2对应的第二统计信息2,训练时间窗3对应的第二统计信息3。内存异常检测设备将第一统计信息1~3与第二统计信息1~3中最后的垃圾回收之后的内存占用率进行聚类分析之后,将第一统计信息1和第二统计信息1中最后的的垃圾回收之后的内存占用率分为一类,将第一统计信息2和第二统计信息2中最后的的垃圾回收之后的内存占用率分为一类,将第一统计信息3和第二统计信息3中最后的的垃圾回收之后的内存占用率分为一类。
内存异常检测设备可根据每一类最后的垃圾回收之后的内存占用率的平均值,得到第一检测时间窗对应的异常程度和训练时间窗对应的异常程度。例如,第一统计信息1和第二统计信息1中最后的垃圾回收之后的内存占用率的平均值为65%,第一统计信息2和第二统计信息2中最后的垃圾回收之后的内存占用率的平均值为75%,第一统计信息3和第二统计信息3中最后的垃圾回收之后的内存占用率的平均值为85%。最后的垃圾回收之后的内存占用率的平均值越大,异常程度越高。因此,可将第一检测时间窗和训练时间窗1对应的异常程度确定为低度异常,将检测时间窗2和训练时间窗2对应的异常程度确定为中度异常,将检测时间窗3和训练时间窗3对应的异常程度确定为高度异常。内存异常检测设备根据第一检测时间窗1、检测时间窗2和检测时间窗3以及训练时间窗1~训练时间窗3的异常程度,重新训练得到新的异常程度确定规则。
可选的,在内存异常检测设备确定第一检测时间窗中日志信息对应的异常程度之后,若存在垃圾回收之后的内存占用率大于预设占用率,并且停机时间大于预设停机时间,并且异常程度为非高度异常的日志信息,则执行以下步骤:将第一统计信息与所有第二统计信息进行聚类分析,将第一统计信息与所有第二统计信息分为至少两类;根据每类信息,得到第一检测时间窗和训练时间窗对应的异常程度;根据第一检测时间窗和训练时间窗对应的异常程度,更新异常程度确定规则。
日志信息的垃圾回收之后的内存占用率大于预设占用率,并且停机时间大于预设停机时间,说明此时可能已出现内存异常,因此,日志信息对应的异常程度应该是高度异常。然而内存异常检测设备根据异常程度确定规则得出的检测结果是日志信息对应的异常程度为非高度异常。显然异常程度确定规则已经不能准确地检测出日志信息对应的异常程度,因此,此时可以重新更新异常程度确定规则。通过实施该实施方式,在异常程度确定规则不能准确地检测出日志信息对应的异常程度时更新异常程度确定规则,有利于节省CPU资源。
本发明实施例可以根据上述方法示例对内存异常检测设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参见图12,图12是本发明实施提供的一种内存异常检测设备。该内存异常检测设备可以为上述方法实施例中图6或11所示的内存异常检测设备。该内存异常检测设备包括:获取模块1201和处理模块1202。其中:
获取模块1201,用于获取第一内存日志,第一内存日志包括多次垃圾回收的日志信息,每次垃圾回收的日志信息包括垃圾回收时间,以及包括停机时间、垃圾回收之后的内存占用率和垃圾回收之前的内存占用率中的至少一种;处理模块1202,用于根据第一检测时间窗中的日志信息,得到第一检测时间窗对应的第一统计信息,第一检测时间窗中的日志信息为垃圾回收时间属于第一检测时间窗的日志信息,该第一统计信息包括第一检测时间窗中的平均停机时间、第一检测时间窗中最晚的垃圾回收之后的内存占用率相对于第一检测时间窗中最早的垃圾回收之前的内存占用率的变化、第一检测时间窗中最晚的垃圾回收之后的内存占用率中的至少一种;处理模块1202,还用于根据第一检测时间窗对应的第一统计信息,确定第一检测时间窗中的日志信息对应的异常程度。
可选的,处理模块1202根据第一检测时间窗对应的第一统计信息,确定第一检测时间窗中的日志信息对应的异常程度的具体实施方式为:根据第一检测时间窗对应的第一统计信息,确定第一检测时间窗对应的异常程度;将第一检测时间窗对应的异常程度确定为第一检测时间窗中的第一日志信息对应的异常程度。.
可选的,第一日志信息为第一检测时间窗中的任一日志信息。
可选的,第一日志信息为属于第一检测时间窗且不属于位于第一检测时间窗之前的检测时间窗的日志信息。
可选的,处理模块1202,还用于若存在高度异常的日志信息,并且高度异常的日志信息中的垃圾回收之后的内存占用率小于预设占有率,并且高度异常的日志信息中的停机时间小于预设停机时间,则将高度异常的日志信息对应的异常程度调整为非高度异常。
可选的,第一统计信息还包括第一检测时间窗中的垃圾回收的次数。
可选的,处理模块1202,还用于若在预设时间段内连续出现预设次数的高度异常的日志信息,则对内存异常进行告警。
可选的,处理模块1202根据第一检测时间窗对应的第一统计信息,确定第一检测时间窗中的日志信息的异常程度的具体实施方式为:根据异常程度确定规则和第一检测时间窗对应的第一统计信息,确定第一检测时间窗中的日志信息的异常程度,异常程度确定规则为预先根据第二内存日志中包括的停机时间、垃圾回收之后的内存占用率和垃圾回收之前的内存占用率中的至少一种以及垃圾回收时间得到的。
可选的,获取模块1201,还用于在获取第一内存日志之前,获取第二内存日志,第二内存日志包括多次垃圾回收的日志信息,每次垃圾回收的日志信息包括垃圾回收时间,以及包括停机时间、垃圾回收之后的内存占用率和垃圾回收之前的内存占用率中的至少一种;处理模块1202,还用于对于多个训练时间窗中的任一训练时间窗,根据任一训练时间窗中的日志信息确定任一训练时间窗对应的第二统计信息,第二统计信息包括任一训练时间窗中的平均停机时间、任一训练时间窗中最后一次垃圾回收之后的内存占用率相对于任一训练时间窗中最早的垃圾回收之前的内存占用率的变化、任一训练时间窗中最晚的垃圾回收之后的内存占用率中的至少一种,任一训练时间窗中的日志信息为垃圾回收时间属于训练时间窗的日志信息;处理模块1202,还用于根据多个训练时间窗对应的第二统计信息,确定多个训练时间窗中的每一个训练时间窗对应的异常程度;处理模块1202,还用于根据每一个训练时间窗对应的第二统计信息和异常程度,确定异常程度确定规则。
可选的,处理模块1202根据多个训练时间窗对应的第二统计信息,确定多个训练时间窗中的每一个训练时间窗对应的异常程度的具体实施方式为:对多个训练时间窗对应的第二统计信息进行聚类,以将多个训练时间窗对应的第二统计信息分为至少两类;根据该至少两类的第二统计信息,得到该至少两类中的每类第二统计信息对应的异常程度;根据每类第二统计信息对应的异常程度,确定每个训练时间窗对应的异常程度,其中,任意一个训练时间窗对应的异常程度为任意一个训练时间窗对应的第二统计信息所在类对应的异常程度。
可选的,处理模块1202根据至少两类的第二统计信息,得到至少两类中的每类第二统计信息对应的异常程度的方式具体为:对于至少两类中的任一类第二统计信息,计算该任一类第二统计信息中的目标数据的平均值,该目标数据为该任一类第二统计信息中的一种数据,其中,每个第二统计信息的目标数据为同一种数据;根据计算得到的所有平均值的大小,确定该至少两类中的每类第二统计信息对应的异常程度。
可选的,处理模块1202,还用于在根据每类第二统计信息对应的异常程度,确定每个训练时间窗对应的异常程度之后,以及根据每一个训练时间窗对应的第二统计信息和异常程度确定异常程度确定规则之前,若存在高度异常的训练时间窗,并且高度异常的训练时间窗中最大的垃圾回收之后的内存占用率小于预设占有率,并且高度异常的训练时间窗中最大的停机时间小于预设停机时间,则将高度异常的训练时间窗对应的异常程度调整为非高度异常。
可选的,第二统计信息还包括对应的训练时间窗中垃圾回收的次数。
请参见图13,图13是本申请实施例公开的一种内存异常检测设备的结构示意图。该内存异常检测设备可以为上述方法实施例中图6或11所示的内存异常检测设备。如图13所示,该内存异常检测设备1300包括处理器1301、存储器1302和通信接口1303。其中,处理器1301、存储器1302和通信接口1303相连。
其中,处理器1301可以是中央处理器(central processing unit,CPU),通用处理器,协处理器,数字信号处理器(digital signal processor,DSP),专用集成电路(application-specific integrated circuit,ASIC),现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。该处理器1301也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。
其中,通信接口1303用于实现与其他网元(如第一设备)之间的通信。
其中,处理器1301调用存储器1302中存储的程序代码,可执行上述方法实施例中图6或图11所描述的内存异常检测设备所执行的步骤,或可执行方法实施例中内存异常检测设备执行的其他步骤。
基于同一发明构思,本申请实施例中提供的设备解决问题的原理与本申请方法实施例相似,因此设备的实施可以参见方法的实施,为简洁描述,在这里不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (49)

1.一种检测方法,其特征在于,包括:
获取第一日志,所述第一日志包括多次垃圾回收的日志信息,每次垃圾回收的日志信息包括垃圾回收时间,以及包括停机时间、垃圾回收之后的内存占用率和垃圾回收之前的内存占用率中的至少一种;
根据第一检测时间窗中的日志信息,得到所述第一检测时间窗对应的第一统计信息,所述第一检测时间窗中的日志信息为垃圾回收时间属于所述第一检测时间窗的日志信息,所述第一统计信息包括所述第一检测时间窗中的平均停机时间、所述第一检测时间窗中最晚的垃圾回收之后的内存占用率相对于所述第一检测时间窗中最早的垃圾回收之前的内存占用率的变化、所述第一检测时间窗中最晚的垃圾回收之后的内存占用率中的至少一种;
根据所述第一检测时间窗对应的第一统计信息,确定所述第一检测时间窗中的日志信息对应的异常程度。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一检测时间窗对应的第一统计信息,确定所述第一检测时间窗中的日志信息对应的异常程度,包括:
根据所述第一检测时间窗对应的第一统计信息,确定所述第一检测时间窗对应的异常程度;
将所述第一检测时间窗对应的异常程度确定为所述第一检测时间窗中的第一日志信息对应的异常程度。
3.根据权利要求2所述的方法,其特征在于,所述第一日志信息为所述第一检测时间窗中的任一日志信息。
4.根据权利要求2所述的方法,其特征在于,所述第一日志信息为属于所述第一检测时间窗且不属于位于所述第一检测时间窗之前的检测时间窗的日志信息。
5.根据权利要求1~4任意一项所述的方法,其特征在于,确定所述第一检测时间窗中的日志信息对应的异常程度之后,所述方法还包括:
若存在高度异常的日志信息,并且所述高度异常的日志信息中的垃圾回收之后的内存占用率小于预设占有率,并且所述高度异常的日志信息中的停机时间小于预设停机时间,则将所述高度异常的日志信息对应的异常程度调整为非高度异常。
6.根据权利要求1~5任意一项所述的方法,其特征在于,所述第一统计信息还包括所述第一检测时间窗中的垃圾回收的次数。
7.根据权利要求1~6任意一项所述的方法,其特征在于,还包括:
若在预设时间段内连续出现预设次数的高度异常的日志信息,则对内存异常进行告警。
8.根据权利要求1~7任意一项所述的方法,所述根据所述第一检测时间窗对应的第一统计信息,确定所述第一检测时间窗中的日志信息的异常程度,包括:
根据异常程度确定规则和所述第一检测时间窗对应的第一统计信息,确定所述第一检测时间窗中的日志信息的异常程度,所述异常程度确定规则为预先根据第二日志中包括的停机时间、垃圾回收之后的内存占用率和垃圾回收之前的内存占用率中的至少一种以及垃圾回收时间得到的。
9.根据权利要求8所述的方法,其特征在于,所述获取第一日志之前,所述方法还包括:
获取第二日志,所述第二日志包括多次垃圾回收的日志信息,每次垃圾回收的日志信息包括垃圾回收时间,以及包括停机时间、垃圾回收之后的内存占用率和垃圾回收之前的内存占用率中的至少一种;
对于多个训练时间窗中的任一训练时间窗,根据所述任一训练时间窗中的日志信息确定所述任一训练时间窗对应的第二统计信息,所述第二统计信息包括所述任一训练时间窗中的平均停机时间、所述任一训练时间窗中最后一次垃圾回收之后的内存占用率相对于所述任一训练时间窗中最早的垃圾回收之前的内存占用率的变化、所述任一训练时间窗中最晚的垃圾回收之后的内存占用率中的至少一种,所述任一训练时间窗中的日志信息为垃圾回收时间属于所述训练时间窗的日志信息;
根据所述多个训练时间窗对应的第二统计信息,确定所述多个训练时间窗中的每一个训练时间窗对应的异常程度;
根据所述每一个训练时间窗对应的第二统计信息和异常程度,确定所述异常程度确定规则。
10.根据权利要求9所述的方法,其特征在于,根据所述多个训练时间窗对应的第二统计信息,确定所述多个训练时间窗中的每一个训练时间窗对应的异常程度,包括:
对所述多个训练时间窗对应的第二统计信息进行聚类,以将所述多个训练时间窗对应的第二统计信息分为至少两类;
根据所述至少两类的第二统计信息,得到所述至少两类中的每类第二统计信息对应的异常程度;
根据所述每类第二统计信息对应的异常程度,确定每个训练时间窗对应的异常程度,其中,任意一个训练时间窗对应的异常程度为所述任意一个训练时间窗对应的第二统计信息所在类对应的异常程度。
11.根据权利要求10所述的方法,其特征在于,根据所述至少两类的第二统计信息,得到所述至少两类中的每类第二统计信息对应的异常程度,包括:
对于所述至少两类中的任一类第二统计信息,计算所述任一类第二统计信息中的目标数据的平均值,所述目标数据为所述任一类第二统计信息中的一种数据,其中,每个第二统计信息的目标数据为同一种数据;
根据计算得到的所有平均值的大小,确定所述至少两类中的每类第二统计信息对应的异常程度。
12.根据权利要求9~11任意一项所述的方法,其特征在于,所述根据每类第二统计信息对应的异常程度,确定每个训练时间窗对应的异常程度之后,以及所述根据每一个训练时间窗对应的第二统计信息和异常程度确定所述异常程度确定规则之前,所述方法还包括:
若存在高度异常的训练时间窗,并且所述高度异常的训练时间窗中最大的垃圾回收之后的内存占用率小于预设占有率,并且所述高度异常的训练时间窗中最大的停机时间小于预设停机时间,则将所述高度异常的训练时间窗对应的异常程度调整为非高度异常。
13.根据权利要求9~12任意一项所述的方法,其特征在于,所述第二统计信息还包括对应的训练时间窗中垃圾回收的次数。
14.根据权利要求1~13任意一项所述的方法,其特征在于,所述检测设备位于第一设备中,所述第一设备存储有内存日志。
15.根据权利要求1~14任意一项所述的方法,其特征在于,所述检测设备位于第一设备中,所述第一设备包括软件定义网络SDN控制器、日志服务器或路由器。
16.根据权利要求1~13任意一项所述的方法,其特征在于,所述检测设备位于网管系统或服务器中。
17.根据权利要求16任意一项所述的方法,其特征在于,所述网管系统或服务器还包括第一设备,所述第一设备存储有内存日志。
18.根据权利要求1~17任意一项所述的方法,其特征在于,
所述第一日志被手动传送至所述检测设备,或
所述检测设备自动获取该第一日志,或
所述第一日志被从移动硬盘或U盘拷贝至所述检测设备。
19.根据权利要求1~18任意一项所述的方法,其特征在于,所述第一日志为垃圾回收日志。
20.根据权利要求1~19任意一项所述的方法,其特征在于,所述第一日志为Java G1垃圾收集器日志,C++垃圾回收日志,或其他垃圾回收日志。
21.根据权利要求1~20任意一项所述的方法,其特征在于,所述第一日志的格式包括不限于csv、log或txt。
22.根据权利要求1~21任意一项所述的方法,其特征在于,所述检测设备根据所述第一日志的字符串格式,解析提取出日志信息;
或者
所述检测设备根据所述第一日志中日志信息的相对位置与第一内存日志的字符串格式,解析提取出日志信息。
23.根据权利要求22所述的方法,其特征在于,所述日志信息的相对位置是指日志信息中垃圾回收时间、停机时间、垃圾回收之后的内存占用率和垃圾回收之前的内存占用率之间的相对位置信息。
24.根据权利要求22所述的方法,其特征在于,所述日志信息属于检测时间窗。
25.根据权利要求24所述的方法,其特征在于,所述检测时间窗具有固定的窗口宽度和梯度。
26.一种检测设备,其特征在于,包括:
获取模块,用于获取第一日志,所述第一日志包括多次垃圾回收的日志信息,每次垃圾回收的日志信息包括垃圾回收时间,以及包括停机时间、垃圾回收之后的内存占用率和垃圾回收之前的内存占用率中的至少一种;
处理模块,用于根据第一检测时间窗中的日志信息,得到所述第一检测时间窗对应的第一统计信息,所述第一检测时间窗中的日志信息为垃圾回收时间属于所述第一检测时间窗的日志信息,所述第一统计信息包括所述第一检测时间窗中的平均停机时间、所述第一检测时间窗中最晚的垃圾回收之后的内存占用率相对于所述第一检测时间窗中最早的垃圾回收之前的内存占用率的变化、所述第一检测时间窗中最晚的垃圾回收之后的内存占用率中的至少一种;
所述处理模块,还用于根据所述第一检测时间窗对应的第一统计信息,确定所述第一检测时间窗中的日志信息对应的异常程度。
27.根据权利要求26所述的检测设备,其特征在于,所述处理模块根据所述第一检测时间窗对应的第一统计信息,确定所述第一检测时间窗中的日志信息对应的异常程度的方式具体为:
根据所述第一检测时间窗对应的第一统计信息,确定所述第一检测时间窗对应的异常程度;
将所述第一检测时间窗对应的异常程度确定为所述第一检测时间窗中的第一日志信息对应的异常程度。
28.根据权利要求27所述的检测设备,其特征在于,所述第一日志信息为所述第一检测时间窗中的任一日志信息。
29.根据权利要求27所述的检测设备,其特征在于,所述第一日志信息为属于所述第一检测时间窗且不属于位于所述第一检测时间窗之前的检测时间窗的日志信息。
30.根据权利要求26~29任意一项所述的检测设备,其特征在于,
所述处理模块,还用于若存在高度异常的日志信息,并且所述高度异常的日志信息中的垃圾回收之后的内存占用率小于预设占有率,并且所述高度异常的日志信息中的停机时间小于预设停机时间,则将所述高度异常的日志信息对应的异常程度调整为非高度异常。
31.根据权利要求26~30任意一项所述的检测设备,其特征在于,所述第一统计信息还包括所述第一检测时间窗中的垃圾回收的次数。
32.根据权利要求26~31任意一项所述的检测设备,其特征在于,
所述处理模块,还用于若在预设时间段内连续出现预设次数的高度异常的日志信息,则对内存异常进行告警。
33.根据权利要求26~32任意一项所述的检测设备,其特征在于,所述处理模块根据所述第一检测时间窗对应的第一统计信息,确定所述第一检测时间窗中的日志信息的异常程度的方式具体为:
根据异常程度确定规则和所述第一检测时间窗对应的第一统计信息,确定所述第一检测时间窗中的日志信息的异常程度,所述异常程度确定规则为预先根据第二日志中包括的停机时间、垃圾回收之后的内存占用率和垃圾回收之前的内存占用率中的至少一种以及垃圾回收时间得到的。
34.根据权利要求33所述的检测设备,其特征在于,
所述获取模块,还用于在获取第一日志之前,获取第二日志,所述第二日志包括多次垃圾回收的日志信息,每次垃圾回收的日志信息包括垃圾回收时间,以及包括停机时间、垃圾回收之后的内存占用率和垃圾回收之前的内存占用率中的至少一种;
所述处理模块,还用于对于多个训练时间窗中的任一训练时间窗,根据所述任一训练时间窗中的日志信息确定所述任一训练时间窗对应的第二统计信息,所述第二统计信息包括所述任一训练时间窗中的平均停机时间、所述任一训练时间窗中最后一次垃圾回收之后的内存占用率相对于所述任一训练时间窗中最早的垃圾回收之前的内存占用率的变化、所述任一训练时间窗中最晚的垃圾回收之后的内存占用率中的至少一种,所述任一训练时间窗中的日志信息为垃圾回收时间属于所述训练时间窗的日志信息;
所述处理模块,还用于根据所述多个训练时间窗对应的第二统计信息,确定所述多个训练时间窗中的每一个训练时间窗对应的异常程度;
所述处理模块,还用于根据每一个训练时间窗对应的第二统计信息和异常程度,确定所述异常程度确定规则。
35.根据权利要求34所述的检测设备,其特征在于,所述处理模块根据所述多个训练时间窗对应的第二统计信息,确定所述多个训练时间窗中的每一个训练时间窗对应的异常程度方式具体为:
对所述多个训练时间窗对应的第二统计信息进行聚类,以将所述多个训练时间窗对应的第二统计信息分为至少两类;
根据所述至少两类的第二统计信息,得到所述至少两类中的每类第二统计信息对应的异常程度;
根据每类第二统计信息对应的异常程度,确定每个训练时间窗对应的异常程度,其中,任意一个训练时间窗对应的异常程度为所述任意一个训练时间窗对应的第二统计信息所在类对应的异常程度。
36.根据权利要求35所述的检测设备,其特征在于,所述处理模块根据所述至少两类的第二统计信息,得到所述至少两类中的每类第二统计信息对应的异常程度的方式具体为:
对于所述至少两类中的任一类第二统计信息,计算所述任一类第二统计信息中的目标数据的平均值,所述目标数据为所述任一类第二统计信息中的一种数据,其中,每个第二统计信息的目标数据为同一种数据;
根据计算得到的所有平均值的大小,确定所述至少两类中的每类第二统计信息对应的异常程度。
37.根据权利要求34~36任意一项所述的检测设备,其特征在于,
所述处理模块,还用于在根据每类第二统计信息对应的异常程度,确定每个训练时间窗对应的异常程度之后,以及根据每一个训练时间窗对应的第二统计信息和异常程度确定所述异常程度确定规则之前,若存在高度异常的训练时间窗,并且所述高度异常的训练时间窗中最大的垃圾回收之后的内存占用率小于预设占有率,并且所述高度异常的训练时间窗中最大的停机时间小于预设停机时间,则将所述高度异常的训练时间窗对应的异常程度调整为非高度异常。
38.根据权利要求34~37任意一项所述的检测设备,其特征在于,所述第二统计信息还包括对应的训练时间窗中垃圾回收的次数。
39.根据权利要求34~38任意一项所述的检测设备,其特征在于,所述检测设备位于第一设备中,所述第一设备存储有内存日志。
40.根据权利要求34~39任意一项所述的检测设备,其特征在于,所述检测设备位于第一设备中,所述第一设备包括软件定义网络SDN控制器、日志服务器或路由器。
41.根据权利要求34~40任意一项所述的检测设备,其特征在于,所述检测设备位于网管系统或服务器中。
42.根据权利要求41任意一项所述的检测设备,其特征在于,所述网管系统或服务器还包括第一设备,所述第一设备存储有内存日志。
43.一种检测设备,其特征在于,包括:处理器和存储器,其中,一个或多个程序被存储在存储器中,当其在计算机上运行时,使得计算机执行如权利要求1-25中任一项所述的方法。
44.根据权利要求43所述的检测设备,其特征在于,还包括与所述处理器和所述存储器连接的通信接口。
45.一种网络系统,其特征在于,包括第一设备和权利要求26~44中任一所述的检测设备。
46.根据权利要求45所述的网络系统,其特征在于,所述检测设备位于所述第一设备中,所述第一设备存储有内存日志。
47.根据权利要求45或46所述的网络系统,其特征在于,所述检测设备位于第一设备中,所述第一设备包括软件定义网络SDN控制器、日志服务器或路由器。
48.一种包含指令或程序的计算机程序产品,当其在计算机上运行时,使得计算机执行如权利要求1-25中任一项所述的方法。
49.一种计算机可读存储介质,其特征在于,包括计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1-25中任一项所述的方法。
CN202111139834.7A 2017-07-25 2017-07-25 检测方法、设备及计算机可读存储介质 Pending CN114048051A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111139834.7A CN114048051A (zh) 2017-07-25 2017-07-25 检测方法、设备及计算机可读存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111139834.7A CN114048051A (zh) 2017-07-25 2017-07-25 检测方法、设备及计算机可读存储介质
CN201710614122.3A CN109298959B (zh) 2017-07-25 2017-07-25 一种内存异常检测方法及设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201710614122.3A Division CN109298959B (zh) 2017-07-25 2017-07-25 一种内存异常检测方法及设备

Publications (1)

Publication Number Publication Date
CN114048051A true CN114048051A (zh) 2022-02-15

Family

ID=65039458

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202111139834.7A Pending CN114048051A (zh) 2017-07-25 2017-07-25 检测方法、设备及计算机可读存储介质
CN201710614122.3A Active CN109298959B (zh) 2017-07-25 2017-07-25 一种内存异常检测方法及设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710614122.3A Active CN109298959B (zh) 2017-07-25 2017-07-25 一种内存异常检测方法及设备

Country Status (4)

Country Link
US (1) US11513932B2 (zh)
EP (1) EP3647950A4 (zh)
CN (2) CN114048051A (zh)
WO (1) WO2019019749A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116303110A (zh) * 2022-11-22 2023-06-23 荣耀终端有限公司 一种内存垃圾的回收方法及电子设备

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102536266B1 (ko) * 2018-08-02 2023-05-25 삼성전자주식회사 메모리 누수 검출 방법 및 그 전자 장치
CN111751705B (zh) * 2020-06-18 2023-04-07 捷普电子(广州)有限公司 测试结果展示方法、装置及电子设备、存储介质
WO2022047658A1 (zh) * 2020-09-02 2022-03-10 大连大学 日志异常检测系统
CN112650695B (zh) * 2020-12-30 2023-09-05 北京奇艺世纪科技有限公司 一种应用服务器的缓存管理方法及装置
CN113342604B (zh) * 2021-06-07 2022-06-24 平安证券股份有限公司 内存使用率的检测方法、装置、终端及存储介质
CN113535454B (zh) * 2021-07-15 2023-05-30 上海上讯信息技术股份有限公司 一种日志数据异常检测的方法及设备
CN113254255B (zh) * 2021-07-15 2021-10-29 苏州浪潮智能科技有限公司 一种云平台日志的分析方法、系统、设备及介质
CN116521489B (zh) * 2023-07-04 2024-03-15 深圳市同泰怡信息技术有限公司 一种计算机用服务器故障预警方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106134B (zh) * 2011-11-10 2016-01-13 阿里巴巴集团控股有限公司 一种性能缺陷检测方法、装置和系统
CN102591788B (zh) * 2011-12-23 2014-09-10 飞天诚信科技股份有限公司 一种Java卡垃圾回收方法
CN104182320B (zh) * 2013-05-23 2017-09-29 联想(北京)有限公司 一种监控内存泄漏的方法及装置
US9317393B2 (en) * 2013-06-13 2016-04-19 Oracle International Corporation Memory leak detection using transient workload detection and clustering
US9542286B2 (en) * 2014-09-30 2017-01-10 Sandisk Technologies Llc Failure logging mechanism to reduce garbage collection time in partially reused bad blocks
KR101726361B1 (ko) * 2015-04-14 2017-04-13 한양대학교 산학협력단 하이브리드 가비지 수집 방법 및 장치
US10248561B2 (en) * 2015-06-18 2019-04-02 Oracle International Corporation Stateless detection of out-of-memory events in virtual machines
JP2017174387A (ja) * 2016-03-17 2017-09-28 パナソニックIpマネジメント株式会社 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法
US10289347B2 (en) * 2016-04-26 2019-05-14 Servicenow, Inc. Detection and remediation of memory leaks
CN106095689B (zh) * 2016-06-24 2019-02-12 北京奇虎科技有限公司 一种应用内存泄露的检测方法和装置
CN106970862B (zh) * 2017-04-11 2020-06-16 武汉斗鱼网络科技有限公司 一种内存抖动自动化测试方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116303110A (zh) * 2022-11-22 2023-06-23 荣耀终端有限公司 一种内存垃圾的回收方法及电子设备
CN116303110B (zh) * 2022-11-22 2023-11-14 荣耀终端有限公司 一种内存垃圾的回收方法及电子设备

Also Published As

Publication number Publication date
US11513932B2 (en) 2022-11-29
CN109298959B (zh) 2021-09-21
CN109298959A (zh) 2019-02-01
EP3647950A1 (en) 2020-05-06
US20200159636A1 (en) 2020-05-21
WO2019019749A1 (zh) 2019-01-31
EP3647950A4 (en) 2020-08-12

Similar Documents

Publication Publication Date Title
CN109298959B (zh) 一种内存异常检测方法及设备
KR102520044B1 (ko) 경보 로그 압축 방법, 장치, 및 시스템, 및 저장 매체
CN107528722B (zh) 一种时间序列中异常点检测方法及装置
US9652354B2 (en) Unsupervised anomaly detection for arbitrary time series
KR101621019B1 (ko) 시계열 통계 기반 공격의심 이상징후를 탐지하기 위한 방법
CN103761173A (zh) 一种基于日志的计算机系统故障诊断方法及装置
CN109362235B (zh) 对网络可访问存储装置处的事务进行分类的方法
CN101668012B (zh) 安全事件检测方法及装置
CN103227734A (zh) 一种OpenStack云平台异常的检测方法
CN105577440A (zh) 一种网络故障时间定位方法和分析设备
CN116304766A (zh) 基于多传感器的开关柜状态快速评估方法
US10705940B2 (en) System operational analytics using normalized likelihood scores
CN115454778A (zh) 大规模云网络环境下的时序指标异常智能监控系统
US10572318B2 (en) Log analysis apparatus, log analysis system, log analysis method and computer program
CN106652393B (zh) 假警报确定方法及装置
CN113343228A (zh) 事件可信度分析方法、装置、电子设备及可读存储介质
CN114756420A (zh) 故障预测方法及相关装置
CN114566964B (zh) 一种配电网馈线自动化控制方法、装置、设备及存储介质
KR102393839B1 (ko) 통신 네트워크 장비의 장애 관리 시스템 및 방법
US20230123045A1 (en) Apparatus and method for generating data set
CN109858251B (zh) 基于Bagging集成学习算法的恶意代码分类检测方法
CN115914032A (zh) 互联网行为数据监控方法、装置、设备及存储介质
CN117997711A (zh) 日志异常监控方法、装置、设备及存储介质
Jia et al. Predicting concept drift severity
CN114417957A (zh) 用户异常行为检测方法、装置、电子设备、介质及程序

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