A memory leak in an application deployed on the cloud can affect the availability and reliability of the application. Therefore, identifying and ultimately resolve it quickly is highly important. However, in the production environment running on the cloud, memory leak detection is a challenge without the knowledge of the application or its internal object allocation details. This paper addresses this challenge of detection of memory leaks in cloud-based infrastructure without having any internal knowledge by introducing two novel machine learning-based algorithms: Linear Backward Regression (LBR) and Precog and, their two variants: Linear Backward Regression with Change Points Detection (LBRCPD) and Precog with Maximum Filteration (PrecogMF). These algorithms only use one metric i.e the system's memory utilization on which the application is deployed for detection of a memory leak. The developed algorithm's accuracy was tested on 60 virtual machines manually labeled memory utilization data and it was found that the proposed PrecogMF algorithm achieves the highest accuracy score of 85%. The same algorithm also achieves this by decreasing the overall compute time by 80% when compared to LBR's compute time. The paper also presents the different memory leak patterns found in the various memory leak applications and are further classified into different classes based on their visual representation.
翻译:在云层上部署的应用程序的内存泄漏会影响应用程序的可用性和可靠性。 因此, 快速识别和最终解决它是非常重要的。 但是, 在云层上运行的生产环境中, 内存泄漏检测是一个挑战, 没有了解应用程序或其内部对象分配细节。 本文通过引入两个全新的机器学习算法( 线性向后退和预科) 来应对在云基基础设施中检测内存泄漏的挑战, 引入了两种新型机器的基于学习的算法: 线性向后退和预科, 以及两种变式: 带有变异点探测( LBRCPD) 的线性向后退回归和有最大过滤( PrecogMF) 。 这些算法只使用一个尺度, 即系统内存使用情况, 用于检测内存泄漏。 开发的算法的准确性通过60个虚拟机器人工标记内存利用内存数据测试, 发现拟议的前科MF 算法达到85 % 的最高精度分数。 同一种算法也通过将总计算时间减少80%, 与LBR的内存到不同的内损分类, 不同的内损分析式显示不同的内损。