开源的Java Profiler

你们可以推荐使用什么Java?

唯一的要求是应该是开源的,或者没有太贵的学术执照。

它带有jdk6的VisualVM里面有一个基本的分析器。 VisualVM是随jdk一起提供的,所以如果你安装了jdk6,你也可以安装它。

https://visualvm.github.io/

你已经在这里列出了一个列表(下面列出它们,在这种情况下链接会被破坏)

  • JMemProf
  • JMP
  • DrMem
  • JTreeProfiler
  • NetBeans Profiler
  • JAMon API
  • JBoss Profiler
  • MessAdmin
  • 红外线
  • TomcatProbe
  • Java交互式分析器(JIP)
  • Profiler4j
  • 跑表
  • JMeasurement
  • DJProf
  • TIJmp
  • Allmon
  • Appspy
  • EurekaJ
  • JAPEX
  • OKTECH Profiler
  • 的Perf4

啊。 Netbeans Profiler ,developer.com的“年度产品”获得者,2009年。

Java有一个名为HProf的基本内置分析器。 我发现将它提供的结果与更完整的function分析器的结果进行比较是非常有用的。

开源工具jvmtop包含一个基本的控制台分析器。 示例输出:

JvmTop 0.7.0 alpha - 15:16:34, amd64, 8 cpus, Linux 2.6.32-27, load avg 0.41 http://code.google.com/p/jvmtop Profiling PID 24015: org.apache.catalina.startup.Bootstrap 36.16% ( 57.57s) hudson.model.AbstractBuild.calcChangeSet() 30.36% ( 48.33s) hudson.scm.SubversionChangeLogParser.parse() 7.14% ( 11.37s) org.kohsuke.stapler.jelly.JellyClassTearOff.parseScript() 6.25% ( 9.95s) net.sf.json.JSONObject.write() 3.13% ( 4.98s) ....kohsuke.stapler.jelly.CustomTagLibrary.loadJellyScri() 

Eclipse TPTP

这里有一篇关于使用TPTP进行Java应用程序分析的文章,以下是使用Eclipse TPTP分析基于J2SE 5.0的应用程序的教程。

如果您正在寻找一个简单易用的开源分析器,您可能需要查看Jip( Java Interactive Profiler )。 它是在BSD许可下发布的。 我发现这对小程序非常有用。 至less,它给出的结果比hprofs输出更容易理解。

JRockit Mission Control ,它可以自由的用于开发,并与Eclipse集成。 它具有非常低的开销(<1%),因为它背负着JVM正在收集的数据。

它使用起来非常简单,它也可以提供很多信息,例如延迟分析,在线内存检查,详细的gc统计信息

这是快速,肮脏,非常有效的:只需要几个线程转储,或暂停程序几次,并看看堆栈的痕迹。

Netbeans IDE包含一个免费的分析器。

另外,如果我没有记错,JProfiler的学术许可证(相对)便宜。

JVM Monitor是一个与Eclipse集成的Java分析器,用于监视Java应用程序的CPU,线程和内存使用情况。

如果需要进一步深入分析,可以使用其他工具(如TPTP , Memory Analyzer )作为下一步。