The invention discloses a Web application memory leak location method, the method includes four stages: Web application loaded stub, using the script driven Web application, Web application memory usage, tracking suspicious object sort memory leak location results. The invention fully considers the structure characteristics and the use characteristics of the Web application program, and improves the memory leak positioning accuracy through filtering the memory object in the time and space dimension in the leakage positioning process.
【技术实现步骤摘要】
一种Web应用的内存泄漏定位方法
本专利技术属于计算机软件开发领域,特别涉及了一种Web应用的内存泄漏定位方法。
技术介绍
Web应用是一类典型的容易包含内存泄漏问题的应用程序。其对外提供长期的服务,即使每次被调用仅泄漏微小的内存,Web应用也可能在外部用户的长时间使用下,损失大量内存,造成严重后果。内存泄漏可导致Web应用程序宕机,无法继续对外提供功能服务,带来经济和社会效益损失。为解决内存泄漏问题,提高性能表现,改善系统可用性,必须对内存泄漏问题的诊断定位技术进行研究,以排除泄漏。在此方面,人们已对一般应用程序上的内存泄漏诊断定位技术进行了许多研究,取得了不少重要研究成果,也研发了多种相关工具,例如EJTechnique公司的JProfiler、IBM公司的ApplicationDeveloper、Eclipse基金会的MAT工具等。大多数内存泄漏定位方法根据对象的内存占用排序来定位风险泄漏对象,最可能造成泄漏的是那些占用内存非常多的对象类型。现有技术和工具尽管针对一般应用程序有较好的性能表现,理论上也支持Web应用的分析,但其在分析Web应用的内存泄漏方面, ...
【技术保护点】
一种Web应用的内存泄漏定位方法,其特征在于,包括以下步骤:(1)对Web应用程序进行加载时插桩,注入信息收集探针,从而收集各类型对象的分配、释放信息;(2)执行测试脚本,驱动Web应用程序工作,对内执行Web应用的代码,对外提供Web功能服务;(3)跟踪Web应用的内存使用,并对内存使用信息进行时间维度过滤和空间维度过滤;(4)根据过滤后的内存使用信息,通过可疑对象的排序进行内存泄漏定位。
【技术特征摘要】
1.一种Web应用的内存泄漏定位方法,其特征在于,包括以下步骤:(1)对Web应用程序进行加载时插桩,注入信息收集探针,从而收集各类型对象的分配、释放信息;(2)执行测试脚本,驱动Web应用程序工作,对内执行Web应用的代码,对外提供Web功能服务;(3)跟踪Web应用的内存使用,并对内存使用信息进行时间维度过滤和空间维度过滤;(4)根据过滤后的内存使用信息,通过可疑对象的排序进行内存泄漏定位。2.根据权利要求1所述Web应用的内存泄漏定位方法,其特征在于:在步骤(1)中,通过编写JVM调试代理来实现插桩;Web容器启动时挂载了JVM调试代理,当每个类的class文件被加载时,均在该调试代理程序中触发一个事件回调,在该回调函数中,动态拦截并修改当前正在加载的类文件,实现插桩。3.根据权利要求1所述Web应用的内存泄漏定位方法,其特征在于:在步骤(3)中,所述时间维度过滤的方法为,将每次Web应用在测试脚本驱动下...
【专利技术属性】
技术研发人员:钱巨,吴晗,周辉,
申请(专利权)人:南京航空航天大学,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。