当前位置:主页 > 资讯 > 一个功能是生产zip包并提供下载的
201909/05

一个功能是生产zip包并提供下载的

admin 资讯 Comments 围观:
测量jvm分区信息  
 Jstat -gcutil 8555 3000   
查看堆分区信息,然后查看OutOfMemoryError   
 OutOfMemoryError:尝试以这种方式定位和分析。 
图中显示的信息可以知道:YGCyoung GC的数量逐渐增加,FGCFull GC不变,以及比例旧区正在逐渐增加。当Old与99的比率为99时,FGC的数量显着增加,而YGC停止的数量不变。 
因此,基本上可以确认旧区域的内存无法回收,并且发生了内存泄漏。  
问题代码定位 
如何找到内存泄漏的方法有多种,我用MAT插件进行分析,从上面的配置我们可以在app / xxx / log目录下找到堆转储文件java_pid8555.hprof,用STS打开文件,如下
:  
 OutOfMemoryError:尝试以这种方式定位和分析。 
首先让我们看一下内存泄漏报告Leak Suspects Report   
 OutOfMemoryError:尝试以这种方式定位和分析。 
该图显示a,b和c表示的线程是生成zip包的线程。 a和b线程分别占用371M和364M的内存。该报告指出三个线程a,b和c是导致OutOfMemoryError的主要疑问。 
该对象通过单击问题疑问1的详细信息来查看堆栈信息,如下所示:  
 OutOfMemoryError:尝试以这种方式定位和分析。 
可以发现LicenseGenertor类有一个List。此List的主要存储对象是LicenseItem对象类。该列表占用385054512B371M内存。所以我们找到了占用内存的Culprit List LicenseItem。类似地,问题可疑2由b和c线程表示。 
问题可疑3详细信息
 

文章作者:admin
本文地址:
版权所有 © 未注明“转载”的博文一律为原创,转载时必须以链接形式注明作者和原始出处!
如果你觉得文章不错,您可以推荐给你的朋友哦!

发表评论:                              


验证码:点击我更换图片

来看看其他人说了些什么?-----------------------------------------------------------------> 进入详细评论页