一次成功的内存泄漏分析
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-05-01
系统上线后偶有宕机,每次都是出现在相同的某两个业务点上,多次对程序进行代码检查,认真分析后,仍旧没有解决问题.
宕机后,产生上G的dump文件和javacore文件,苦于没有分析经验,很久没有找到解决问题的方案.查找资源后,发现两个软件,即 heapAnalyzer 和 jca.前者分析dump文件,后者分析javacore文件.对于 heapAnalyzer 而言,在 windows 环境下,打不开AIX上产生的dump文件(如:heapdump.20090520.092248.430562.phd),本机的windows环境也没有可分配的那么大的内存来启动该软件,迫不得己,直接在生产环境上使用 heapAnalyzer .文件成功打开,但是分析结果的可读性不强,非 WebLogic 专业人员估计看不太懂,大体的意思就是程序的某个地方加载了大量的对象.如下图所示:
后来使用jca分析javacore文件后,得到解决的办法.原来是 JDK 的问题,我们使用的是: J2RE 5.0 IBM J9 2.3 AIX ppc-32 build j9vmap3223-20070201 ,这个SR4的版本有个问题就是,限定了类加载器可加载的类数量,默认为 8192 ,如果超过此限制,就会抛出 OutOfMemory 的错误.郁闷啊,这事都赶上了.
分析javacore:
# cd /home # ls Test.class guest nmon startVmstat.sh Test.java heapAnalyzer ojdbc14.jar startWebLogic.out classes12.jar jca oracle startWebLogic.sh dumpfile jdk64_15 start.log stop.log esaadmin lost found start.sh stop.sh # cd jca # ls jca.properties.xml license tdv.cfg jca37.jar readme.zip # java -Xmx1000m -jar jca37.jar 分析结果中,有Process ID
|
|||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: Linux内核新补丁:规避微软FAT文件系统专利下一篇: 只读方式挂载文件系统时解决方案
关于一次成功的内存泄漏分析的所有评论