[原创]具体分析heapDump快照文件_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2718 | 回复: 0   主题: [原创]具体分析heapDump快照文件        下一篇 
tianyuan.liu
注册用户
等级:上尉
经验:766
发帖:33
精华:0
注册:1970-1-1
状态:离线
发送短消息息给tianyuan.liu 加好友    发送短消息息给tianyuan.liu 发消息
发表于: IP:您无权察看 2015-3-6 11:01:56 | [全部帖] [楼主帖] 楼主

在 http://bbs.landingbj.com/t-0-252661-1.html 这篇帖子中对heapDump有了基本的认识,下面介绍heapDump更多的内容。
用IBMHeapAnalyzer打开生成的heapDump文件,主要观察tree view视图和object view视图。
heapDump与 http://bbs.landingbj.com/t-0-252661-1.html 中的heapDump文件一样。下面是tree view视图的内容

北京联动北方科技有限公司
每一行的格式为:
对象的总大小,包括本身和子对象的大小的和,子对象指被引用的对象。
对象总大小所占堆内存的百分比
对象本身的大小
子对象的个数
对象名称
对象所在地址
从图中可以看到 北京联动北方科技有限公司
ArrayList对象占用了大量的堆内存,其子对象为object数组。如果看过Java实现List的源码的话,很容易理解list就是通过数组来实现。这个巨大的数组对象有1329817个子对象。问题基本清晰了,就是ArrayList中放了太多String对象,把堆内存撑爆了。点击Leak Suspect,会提供可能发生内存泄露的地方。
再看object view
北京联动北方科技有限公司
totalsize:对象总大小,包括子对象大小。
size:对象本身大小
child:子对象数量
parent:直译过来是父对象的数量,点击右键可以列出父对象,具体含义还不太清楚,大概是引用此对象的对象数吧。
name:对象名称
如果totalsize、size、child的数量都很大,怀疑此对象导致OOM可以右键进入此对象在tree view中的位置。
有了heapDump再结合weblogic日志与相关代码,更容易找到导致OOM的bug了



赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论