关于heapdump分析。

liyufu86 2012-11-17 10:06:10
最近服务器老内存溢出。
heapdump出这样的分析。
请问如何分析。

...全文
224 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wapigzhu 2012-11-17
  • 打赏
  • 举报
回复
看你这个char[] 687m 占了51%(还是31%?看不清楚) 估计是个很明显的问题 不知道你服务器是干什么用的 String的数量和char[]的数量差不多 String里面本来就包含一个char[] 那说明是有很多String没有释放掉吧 你这个是VisualVm吧.. 我不是很会用, 建议上JProfiler,有破解的 可以看到String有多少百分比被什么引用了, 一直查到GC_ROOT就知道是什么地方没释放掉了
liyufu86 2012-11-17
  • 打赏
  • 举报
回复
好像很麻烦啊 ... 这边看了下!主要是一个频繁的读取文本文件。 会导致吧?》
MiceRice 2012-11-17
  • 打赏
  • 举报
回复
恐怕没有你想的这么简单,一般来说要定期输出堆转储,然后比较若干个堆中,哪些对象在持续增长。 大致几个过程: 1、开启GC日志,监控内存变化; 2、在FullGC后,发现内存已经明显增长一部分后,输出堆信息; 3、重复若干次2步骤,直到服务器OOM; 4、选择中间和最后几次进行对比分析。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧