最适合生产的最安全的Java Profiler?

时间:2010-08-26 00:04:44

标签: java profiling profiler production-environment

我正在寻找一种Java Profiler,用于满足以下所有要求的非常高需求的商业或免费生产环境:

  • 与代码轻量级集成(无需使用特殊选项重新编译,无代码挂钩等)。在应用程序代码旁边删除一些特定于探查器的.jars是可以的。
  • 应该能够在不重新启动应用程序的情况下连接/断开JVM。
  • 当分析未激活时,不会影响性能
  • 当分析处于活动状态时,对性能的影响可以忽略不计。非常轻微的降解是可以接受的。
  • 必须完成分析器所做的所有“预期”操作 - 在每种方法中花费的时间来查找热点,对象分配/内存分析等。

基本上我需要一些可以在生产中处于休眠状态的东西,当一切都很好而没有人知道或关心它在那里,但随后能够连接到它麻烦(和性能退化)自由地找出难以找到的问题,如热点和同步问题。

9 个答案:

答案 0 :(得分:20)

你试过YourKit吗?它几乎具有您正在寻找的所有功能。

答案 1 :(得分:14)

Java VisualVM是一种工具,它提供了一个可视化界面,用于在Java虚拟机(JVM)上运行时查看有关基于Java技术的应用程序(Java应用程序)的详细信息。 Java VisualVM组织由Java Development Kit(JDK)工具检索的JVM数据,并以一种使您能够快速查看多个Java应用程序上的数据的方式呈现信息。您可以查看在远程主机上运行的本地应用程序和应用程序的数据。您还可以捕获有关JVM软件的数据并将数据保存到本地系统,稍后查看数据或与其他人共享数据。这是Oracle JDK自带的......

$ jvisualvm 

答案 2 :(得分:11)

我对jProfiler感到满意。

答案 3 :(得分:2)

答案 4 :(得分:1)

我使用Eclipse TPTP - Eclipse Test&性能工具平台项目。它是否适合生产使用,取决于用户。对我来说,它很好,它确实满足您的需求。

http://www.eclipse.org/tptp/

答案 5 :(得分:1)

另一个选项是http://www.newrelic.com/。我们已经在生产中使用它一段时间了,它似乎非常可靠和高效。设置简单(一个.jar和一个-agent命令行选项)。

答案 6 :(得分:1)

还有一个名为javosize的新选项

当我在谷歌上寻找“最好的java分析器”时,我在第一个非付费链接(这是一个博客)上看到了这个帖子的评论相同的工具:

https://blog.oio.de/2014/03/07/java-profilers-a-short-comparison-between-jprofiler-yourkit-and-javas-visualvm /

希望它有所帮助!

编辑:正如评论所说,linkedin链接指向私人论坛。对不起。这是主站点的链接:

http://www.javosize.com/gettingStarted.html

答案 7 :(得分:1)

FusionReactor Java应用程序性能监视器,还包括一个非常低开销的Java Profiler,作为其功能组合的一部分。 http://www.fusion-reactor.com/production-java-profiler/ FusionReactor可以在几分钟内完成安装。他们有一个免费的14天试用版来测试它。

答案 8 :(得分:1)

Java Mission Control一起查看Flight Recorder。从Oracle JDK 7 Update 40(7u40)发布开始,Java Mission Control与HotSpot JVM捆绑在一起,因此它具有高度集成性,并且声称对运行时性能影响很小。它具有Callgrind等调用树功能。