针对Java的堆分析工具的build议?
列出你最喜欢的堆分析工具(例如jprofiler,jmap,…)。 让我们每个答案保持一个工具,每个工具的优点和缺点的简短列表。
YourKit : http : //www.yourkit.com/
优点:
- 界面干净,速度快
- 它打开了一个大的5 gig堆转储jProfiler停下来。 而且它只需要1-2演出的JVM RAM来完成。
缺点:当然…它不是免费的:(
Eclipse内存分析器http://www.eclipse.org/mat/
- 支持多个JVM
- 帮助识别内存泄漏的来源(请参阅http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/6856 )
- 由主要供应商(SAP和IBM)积极开发的开源软件
- Eclipse的伽利略版本的一部分
包含在JDK中的Java VisualVM jvisualvm 。 在这里检查一个病态的Swing程序。
BHeapSampler http://dr-brenschede.de/bheapsampler/
- 生成一个类级别的堆图,作为显性内存结构的真正直观的显示
- 可以处理真正的大堆转储
- 命令行工具,可在服务器端使用,无需将转储传送到开发人员的桌面