[发明专利]一种Java程序性能问题定位方法及装置在审
| 申请号: | 202010759853.9 | 申请日: | 2020-07-31 |
| 公开(公告)号: | CN111858068A | 公开(公告)日: | 2020-10-30 |
| 发明(设计)人: | 刘星辰;吕潘锋 | 申请(专利权)人: | 重庆紫光华山智安科技有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F11/36 |
| 代理公司: | 上海光华专利事务所(普通合伙) 31219 | 代理人: | 代玲 |
| 地址: | 400700 重庆市*** | 国省代码: | 重庆;50 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 java 程序 性能 问题 定位 方法 装置 | ||
本发明公开了一种Java程序性能问题定位方法,包括:获取JVM堆内存信息,包括:JVM堆内存中的对象属性以及对象之间的引用关系,JVM堆内存中的对象构成对象引用图;获取所述对象引用图中每个对象类型的内存消耗贡献度PIC;根据所述内存消耗贡献度PIC对程序中的问题进行定位。本发明通过计算内存消耗贡献度PIC可以更科学的计算出大概率问题类,通过这种具象化的分析可以有效解决目前内存使用分析技术中性能问题定位不准确和人工分析负担重的缺点。
技术领域
本发明涉及计算机技术领域领域,具体涉及一种Java程序性能问题定位方法及装置。
背景技术
Java程序中最常见的性能问题都源自于内存。例如,JVM中的内存错误,垃圾收集过多,数据缓存不当,线程死锁和死锁,耗尽数据库连接,数据库调用缓慢,java代码级别问题,java应用服务器瓶颈,服务器性能问题,网络延迟和连接问题。
目前主流Java程序内存使用分析技术包括MAT(Eclipse Memory Analyzer Tool)和JProfiler,MAT:一个Java堆分析器,分析Java堆内存中各个对象类型占用内存的大小,提供对象类型之间的对象引用关系。JProfiler:一个Java程序性能监控工具,提供Java软件的对象、对象引用、内存使用情况。但MAT和JProfiler技术都存在一定局限性,图1为堆内存中的对象类型按照消耗内存大小由大到小排序图,其局限在于内存消耗多的对象类型往往是一些基本类(例如,String,Char,HashMap,ArrayList),这些基本类的对象在软件中分布广泛,无法有效定位帮助进行性能问题定位。如图2所示,内存消耗多的对象类型是String对象类型(S节点),但是真正的问题类型是6号对象类型。
图3为Jprofiler对象分析图,其提供每个对象类型的“入引用”和“出引用”,但其局限在于涉及到循环引用时,不利于人工分析,使得开发者的工作负担较大。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种Java程序性能问题定位方法及装置,用于解决现有技术中的至少一个缺陷。
为实现上述目的及其他相关目的,本发明提供一种Java程序性能问题定位方法,包括:
获取JVM堆内存信息,包括:JVM堆内存中对象的对象属性以及对象之间的引用关系,JVM堆内存中的对象构成对象引用图;
获取所述对象引用图中每个对象类型的内存消耗贡献度PIC;
根据所述内存消耗贡献度PIC确定程序出现性能问题的对象引用路径。
可选地,该方法还包括:检测所述对象引用图中的循环结构,并使用单一节点表示所述循环结构。
可选地,通过强连通分量算法检测所述对象引用图中的循环结构。
可选地,所述单一节点满足以下条件:节点的内存是其所包含对象内存大小的总和、节点包含的对象将作为一个整体以及节点中各个对象的内存大小取平均值。
可选地,所述获取每个对象类型的内存消耗贡献度PIC,包括:
获取每个对象类型的内存消耗和内存支配,根据所述内存消耗与所述内存支配得到该对象类型对程序性能影响的内存消耗贡献度PIC。
可选地,所述内存消耗贡献度PIC表示为:
PIC=MC×(MD+MC)
其中,MC为内存消耗,MD为内存支配。
可选地,根据所述内存消耗贡献度PIC确定程序出现性能问题的对象引用路径,包括:
针对每一条对象引用路径,通过前向引用分析和后向引用分析判断该对象引用路径是否出现性能问题;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆紫光华山智安科技有限公司,未经重庆紫光华山智安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010759853.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种建筑外墙施工用登高架
- 下一篇:图像像控点精准定位方法





