【发布时间】:2010-10-31 05:13:28
【问题描述】:
你们有什么推荐使用 Java 的?
唯一的要求是它应该是开源的,或者没有太贵的学术许可证。
【问题讨论】:
-
当你说开源是指免费?它们有不同的含义。你的问题是关于 _inexpensive profilers 的吗?
-
免费还是免费?哦,混乱!
你们有什么推荐使用 Java 的?
唯一的要求是它应该是开源的,或者没有太贵的学术许可证。
【问题讨论】:
【讨论】:
jdk6 附带的 VisualVM 内部有一个基本的分析器。 VisualVM 是随 jdk 一起提供的,所以如果你安装了 jdk6,你可能也安装了它。
【讨论】:
VisualVM,但在尝试分析 Tomcat 应用程序时它崩溃了。这对我有用:github.com/jvm-profiling-tools/honest-profiler
Netbeans IDE 包含一个免费的分析器。
另外,如果我没记错的话,JProfiler 的学术许可(相对)便宜。
【讨论】:
啊。 Netbeans Profiler,2009 年 developer.com 的“年度产品”获奖者。
【讨论】:
Java 有一个基本的内置分析器,称为HProf。我发现将它提供的结果与更全面的特征分析器的结果进行比较很有用。
【讨论】:
如果您正在寻找一个简洁、易于使用的开源分析器,您可能想看看 Jip (Java Interactive Profiler)。它是在 BSD 许可下发布的。我发现它对小程序非常有用。至少,它给出的结果比 hprofs 的输出更容易理解。
【讨论】:
This 快速、肮脏且非常有效:只需进行几次线程转储,或暂停程序几次,然后查看堆栈跟踪。
【讨论】:
你有一个列表here(在下面列出它们,以防链接被破坏)
- JMemProf
- JMP
- DrMem
- JTreeProfiler
- NetBeans 分析器
- JAMon API
- JBoss 分析器
- MessAdmin
- 红外线
- Tomcat 探针
- Java 交互式探查器 (JIP)
- Profiler4j
- 秒表
- JMeasurement
- DJProf
- TIJmp
- 阿蒙
- Appspy
- 尤里卡J
- 日本人
- OKTECH 分析器
- Perf4j
【讨论】:
Java Mission Control,可免费用于开发,并与 Eclipse 集成。它的开销非常低(
它非常易于使用,它还可以提供很多您通常在其他分析工具中找不到的信息,例如延迟分析、在线内存检查、详细的 gc 统计数据
【讨论】:
开源工具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()
【讨论】:
JVM Monitor 是一个与 Eclipse 集成的 Java 分析器,用于监控 Java 应用程序的 CPU、线程和内存使用情况。
如果需要进一步深入分析,您可以使用其他工具(例如TPTP、Memory Analyzer)作为下一步。
【讨论】:
考虑前沿https://github.com/jvm-profiling-tools/async-profiler
这个项目是一个低开销的 Java 采样分析器,不受 Safepoint bias problem 的影响。它具有特定于 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
【讨论】: