高性能的java分析器

时间:2010-08-31 20:19:12

标签: java profiling profiler

我看到有一堆“java profiler推荐”问题已在这里得到解答。不过,我的情况略显具体。

我需要描述一个拥有数千名实时用户的生产系统。所以我需要一个轻量级的分析器,它不会让系统减速到停止。

我在Linux上的JDK 1.6.0_20上运行Tomcat 6.0.29。

我的偏好是免费的开源分析器。但如果有一个明显是最佳选择的商业选择,那么那也没关系。

3 个答案:

答案 0 :(得分:3)

在JDK中查看jvisualvm。

它可以在本地和整个网络上连接到正在运行的进程(但功能减少),并允许您对CPU和内存进行性能分析。看看http://blip.tv/file/1582849

答案 1 :(得分:1)

我更喜欢Java Flight Recorder。它几乎不会导致性能开销,并且具有良好的GUI。添加JVM参数

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

并用JMC打开记录。

答案 2 :(得分:0)

在没有进入探查器战斗(你可以谷歌)的情况下,CPU采样通常被认为是计算量最小的分析方法之一。如果您要在生产中分析应用程序,这一点至关重要。

阅读以下SO帖子:   - Which Java Profiling tool do you use and which tool you think is the best?

你甚至可以just use the JDK and the hprof tools,尽管基本的探查器可能会更好。

正如skafman所说,诀窍是限制要分析的类的数量。