JVM大内存分析,不推荐jmap+jhat,推荐JProfiler

     JDK自带了一堆JVM的监控工具很多都不错。不过有一套组合工具我觉得比较坑爹的,那就是jmap+jhat。

     jmap可以对JVM内存做一个快照,然后jhat可以对快照进行分析,且自带了一个小的http server,可通过web方式访问内存分析结果,这对于分析内存中类的装载情况,特别是内存泄露还是比较有帮助的。

     但这套工具还是经不住大场面,有次有个4G的内存快照分析,jhat让我无语了。用jhat分析这4G的快照,在32位操作系统下,那直接就out of memory,那也没话讲。换了台64位的服务器,还是out of memory依旧,关键是有时候运行了快大半小时了才报错,郁闷啊。后来找了台最牛X的服务器,开了将近30G的内存,总算不报错了。随后的情况还是让我无语,jhat的分析时间很长,总算分析结束开启了web服务器,浏览器中打开的速度也奇慢无比,根本做不了操作。于是,决定放弃jmap+jhat,换其他工具。

    后来尝试了JProfiler和youkit java profiler,发现还是JProfiler好用,界面友好,响应快,功能强。而youkit java profiler会出现假死的情况。总之,推荐做较大的JVM的内存分析,推荐JProfiler,不推荐jmap+jhat和youkit java profiler

原文地址:https://www.cnblogs.com/todsong/p/2443196.html