【问题标题】:Open Source Java Profilers [closed]开源 Java Profiler [关闭]
【发布时间】:2010-10-31 05:13:28
【问题描述】:

你们有什么推荐使用 Java 的?

唯一的要求是它应该是开源的,或者没有太贵的学术许可证。

【问题讨论】:

  • 当你说开源是指免费?它们有不同的含义。你的问题是关于 _inexpensive profilers 的吗?
  • 免费还是免费?哦,混乱!

标签: java profiler


【解决方案1】:

【讨论】:

  • 我一直无法设置 TPTP。也许我太笨了,无法使用它。
  • @quant_dev:我遇到了同样的问题,但不知何故意外地突然设置了它(eclipse重新启动或其他什么?)。但是当我使用它时,它几乎没用,速度非常慢,而且资源匮乏,以至于我杀死了 eclipse。我在网上找到的几个参考资料中提到的一些更有用的视图在适用于 eclipse 3.5 的当前版本中似乎也不再存在。所以目前它基本上只是一个无用的巨大 BLOB。
  • Eclipse TPTP 看起来像一个成熟的产品,但速度极慢。我不明白为什么......
  • 不幸的是,TPTP 现已发布最终版本 (v4.7.2)。它已被归档,不再是 Eclipse 同步发布的一部分。
【解决方案2】:

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

https://visualvm.github.io/

【讨论】:

【解决方案3】:

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

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

【讨论】:

  • OP 确实要求“不太昂贵的学术许可”。 JProfiler 的单一学术许可证为 199 美元
  • 他要求一些开源的或具有廉价学术许可证的东西。在我看来,199 美元对于一个普通许可证需要 499 美元的工具来说相当便宜。
【解决方案4】:

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

【讨论】:

    【解决方案5】:

    Java 有一个基本的内置分析器,称为HProf。我发现将它提供的结果与更全面的特征分析器的结果进行比较很有用。

    【讨论】:

    • 我已经使用 HPROF 多年 - 虽然它可能并不漂亮,但它帮助我解决了无数内存和性能问题。
    • HPROF 经常找到不同的优化点。在 YourKit 不再给我明显的优化点之后,我经常使用它。
    • 自 jdk 9 起已删除。openjdk.java.net/jeps/240
    【解决方案6】:

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

    【讨论】:

      【解决方案7】:

      This 快速、肮脏且非常有效:只需进行几次线程转储,或暂停程序几次,然后查看堆栈跟踪。

      【讨论】:

        【解决方案8】:

        你有一个列表here(在下面列出它们,以防链接被破坏)

        • JMemProf
        • JMP
        • DrMem
        • JTreeProfiler
        • NetBeans 分析器
        • JAMon API
        • JBoss 分析器
        • MessAdmin
        • 红外线
        • Tomcat 探针
        • Java 交互式探查器 (JIP)
        • Profiler4j
        • 秒表
        • JMeasurement
        • DJProf
        • TIJmp
        • 阿蒙
        • Appspy
        • 尤里卡J
        • 日本人
        • OKTECH 分析器
        • Perf4j

        【讨论】:

        【解决方案9】:

        Java Mission Control,可免费用于开发,并与 Eclipse 集成。它的开销非常低(

        它非常易于使用,它还可以提供很多您通常在其他分析工具中找不到的信息,例如延迟分析、在线内存检查、详细的 gc 统计数据

        【讨论】:

          【解决方案10】:

          开源工具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()
          

          【讨论】:

            【解决方案11】:

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

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

            【讨论】:

              【解决方案12】:

              考虑前沿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-profilerhonest-profiler的比较:https://github.com/jvm-profiling-tools/async-profiler/issues/77

              【讨论】:

              猜你喜欢
              • 2014-02-04
              • 1970-01-01
              • 2011-01-06
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2015-02-05
              • 2011-11-08
              相关资源
              最近更新 更多