47

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

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

本质上,我需要一些可以在生产中处于休眠状态的东西,而没有人知道或关心它的存在,但随后能够轻松地连接到它(和性能下降),以查明难以发现的问题,如热点和同步问题。

4

10 回答 10

21

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

于 2010-08-26T01:40:56.297 回答
14

Java VisualVM is a tool that provides a visual interface for viewing detailed information about Java technology-based applications (Java applications) while they are running on a Java Virtual Machine (JVM). Java VisualVM organizes JVM data that is retrieved by the Java Development Kit (JDK) tools and presents the information in a way that enables you to quickly view data on multiple Java applications. You can view data on local applications and applications that are running on remote hosts. You can also capture data about the JVM software and save the data to your local system, and view the data later or share the data with others. This comes with Oracle JDK it self...

$ jvisualvm 
于 2011-09-05T17:26:29.880 回答
11

我对jProfiler很满意。

于 2010-08-26T02:22:30.207 回答
4

I prefer Java Flight Recorder. It causes almost no performance overhead and has a nice GUI. Add JVM parameters

-XX:+UnlockCommercialFeatures -XX:+FlightRecorder

-XX:StartFlightRecording=name=test,filename=test.jfr,dumponexit=true

and open the record with JMC.

于 2015-08-26T08:44:53.547 回答
2

结帐 CA 威利。

http://www.ca.com/us/application-management.aspx

于 2010-08-26T02:52:24.427 回答
1

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

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

于 2010-08-26T00:33:48.720 回答
1

Another option is http://www.newrelic.com/. We have been using it in production for some time, and it seems to be pretty reliable and performant. Simple to setup (one .jar and a -agent commandline option).

于 2010-10-22T08:18:56.670 回答
1

There's another new option called javosize

When I looked for "best java profiler" on google, I saw on the first non-paid link (it's a blog), the same tool on the comments to the post:

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

Hope it helps!

Edit: As comments say, linkedin link is to a private forum. Sorry for it. Here is the link to main site:

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

于 2015-06-30T11:13:01.507 回答
1

FusionReactor Java Application Performance Monitor, also includes a very low overhead Java Profiler as part of its feature portfolio. http://www.fusion-reactor.com/production-java-profiler/ FusionReactor can be installed in a couple of minutes & they have a free 14 day trial to test it out.

于 2016-05-12T07:54:49.670 回答
1

Take a look at Java Mission Control in conjunction with Flight Recorder. Starting with the release of Oracle JDK 7 Update 40 (7u40), Java Mission Control is bundled with the HotSpot JVM, so it is highly integrated and purports to have small effects on run-time performance. It has call tree functionality like Callgrind.

于 2016-07-08T13:40:28.943 回答