文件名称:Cloud_Foundry中Java应用集合类内存泄漏检测_叶瑞浩.caj
文件大小:3.59MB
文件格式:CAJ
更新时间:2022-09-04 09:50:38
java
本文基于针对集合类对象的内存泄漏检测方案实现了口oudFoundry云平台 中Java应用内存泄漏的检测,通过监控集合类对象的内存消耗和集合内元素的 使用情况,得出对象内存泄漏的可能性大小,量化对象内存泄漏的风险。检测 系统首先收集垃圾回收事件后的应用内存数据,确定进行内存泄漏分析的时间 区间。然后通过收集每次垃圾回收事件后对象之间的引用关系和对象内存大小, 计算得到集合类对象的内存影响值。接着通过修改字节码的方式获取到集合类 对象使用集合内元素的数据,计算出相应的元素使用影响值。最后根据内存影 响值和元素使用影响值计算出集合对象的可信值,并提供对象的初始化位置信 息用于定位可疑对象。 本文主要使用JavaInstrument,ASM,JVMInterfaceTools等技术实现了内 存泄漏检测系统,该系统根据功能划分为JavaAgent、NativeAgent和可信值计 算H个模块,JavaAgent主要用于收集集合内元素使用数据,NativeAgent主要 用于收集内存使用数据。我们将该内存检测系统部署在CloudFoundry上,作为 云平台中应用性能管理工具的一部分,为云平台用户提供Java应用内存泄漏检 测功能,帮助开发者定位和解决内存泄漏问题。此外,本文还对该系统进行了 可用性测试和运行时系统负载测试。