[英]Open Source Java Profilers
你们可以推荐什么用于Java?
唯一的要求是它应该是开源的,或者没有太昂贵的学术许可。
jdk6附带的VisualVM里面有一个基本的探查器。 VisualVM随jdk提供,所以如果你安装了jdk6,你也可能已经安装了它。
你在这里有一个列表(在下面列出它们,在案例链接被破坏)
- JMemProf
- JMP
- DrMem
- JTreeProfiler
- NetBeans Profiler
- JAMon API
- JBoss Profiler
- MessAdmin
- 红外线
- TomcatProbe
- Java Interactive Profiler(JIP)
- Profiler4j
- 跑表
- JMeasurement
- DJProf
- TIJmp
- Allmon
- Appspy
- EurekaJ
- JAPEX
- OKTECH Profiler
- 的Perf4
啊。 Netbeans Profiler ,developer.com的“年度产品”获奖者,2009年。
Java有一个名为HProf的基本内置分析器。 我发现将它提供的结果与更全面的特征分析器的结果进行比较是有用的。
开源工具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()
这是一篇关于使用TPTP进行Java应用程序分析的文章,这是一篇使用Eclipse TPTP分析基于J2SE 5.0的应用程序的教程。
如果您正在寻找一个简单易用的开源分析器,您可能需要查看Jip( Java Interactive Profiler )。 它是根据BSD许可证发布的。 我发现它对小程序非常有用。 至少,它给出的结果比hprofs输出更容易理解。
Java Mission Control ,它可以免费用于开发,并与Eclipse集成。 它具有非常低的开销(<1%),因为它背负着JVM正在收集的数据。
它非常易于使用,它还可以提供您在其他分析工具中通常无法找到的大量信息,例如延迟分析,在线内存检查,详细的gc统计信息
这很快,很脏,而且非常有效:只需要几次线程转储,或暂停程序几次,然后查看堆栈跟踪。
JVM Monitor是一个与Eclipse集成的Java分析器,用于监视Java应用程序的CPU,线程和内存使用情况。
如果需要进一步深入分析,您可以使用其他工具(例如TPTP , Memory Analyzer )作为下一步。
考虑尖端的https://github.com/jvm-profiling-tools/async-profiler
该项目是Java的低开销采样分析器,不会受到Safepoint偏差问题的影响 。 它具有特定于HotSpot的API,用于收集堆栈跟踪和跟踪内存分配。 该探查器可与OpenJDK,Oracle JDK和基于HotSpot JVM的其他Java运行时一起使用。
它还内置于IntelliJ IDEA Ultimate: https : //www.jetbrains.com/help/idea/cpu-profiler.html 。
还有类似的https://github.com/jvm-profiling-tools/honest-profiler 。
async-profiler
和honest-profiler
之间的比较: https : //github.com/jvm-profiling-tools/async-profiler/issues/77
Netbeans IDE包含一个免费的分析器。
此外,如果我没记错的话,JProfiler的学术许可证(相对)便宜。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.