Java堆分析工具的建议?

Java堆分析工具的建议?,java,memory,profiling,heap,Java,Memory,Profiling,Heap,列出您最喜欢的堆分析工具(例如jprofiler、jmap等)。 让我们为每个答案保留一个工具,并列出每个工具的优点和缺点。YourKit: 优点: 界面干净,速度快 它打开了一个5千兆的大型堆倾倒区,jProfiler咧嘴一笑,停了下来。它只需要1-2 Gig的JVM ram就可以做到这一点 缺点: 当然它不是免费的:(Java VisualVM,包含在JDK中。正在检查一个Swing程序。Eclipse内存分析器 支持多个JVM 帮助识别内存泄漏的来源 (见附件) 开源,由主要供应商(

列出您最喜欢的堆分析工具(例如jprofiler、jmap等)。
让我们为每个答案保留一个工具,并列出每个工具的优点和缺点。

YourKit

优点:

  • 界面干净,速度快
  • 它打开了一个5千兆的大型堆倾倒区,jProfiler咧嘴一笑,停了下来。它只需要1-2 Gig的JVM ram就可以做到这一点
缺点: 当然它不是免费的:(

Java VisualVM,包含在JDK中。正在检查一个Swing程序。

Eclipse内存分析器

  • 支持多个JVM
  • 帮助识别内存泄漏的来源 (见附件)
  • 开源,由主要供应商(SAP和IBM)积极开发
  • 伽利略日食版的一部分
    • BHEAP取样器

      • 生成类级堆图,作为主要内存结构的直观显示
      • 可以处理非常大的堆转储吗
      • 命令行工具,可在服务器端使用,无需将转储转移到开发人员的桌面

      在Mac OS X上,请参阅封闭源代码,并抛出一个奇怪的异常a.a()混淆。看起来这个工具不起作用。好吧,请注意,当试图用你的工具包打开一个20GB的堆时,它在OOME上崩溃了,所以你的工具包不会通过允许你用商品Macbook打开一个大堆来帮助你。我知道这是从'10年开始的,但是任何人都知道识别内存泄漏的工具指向的是什么,如果有什么吗?@GREnvoy该工具名为sap jvm profiler,您应该可以在google上找到一些资源。不确定它是否被其他工具取代