2017-07-17 60 views
0

我目前有一些我想分析的Java代码。在阅读了关于它的一些有希望的事情之后,我决定使用Java Mission Control。然而,迄今为止我所咨询的每一个资源都告诉我要首先启动我想首先进行配置文件的过程,然后只有在Mission Control代码已经运行时才“附加”或分析代码(例如,来自oracle的这个视频:https://youtu.be/WMEpRUgp9Y4?t=14m56s )。Java任务控制监听器?

有没有一种方法可以从头开始分析过程?谢谢

回答

0

有一种方法可以在启动过程时启动分析记录。

示例:运行分析记录10分钟。

java -XX:+UnlockDiagnosticVMOptions -XX:+DebugNonSafepoints -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:StartFlightRecording=duration=10m,name=Test,filename=recording.jfr,settings=profile -jar target/highcpu-0.0.1.jar 

请参见我的文章的详细信息:Using Java Flight Recorder

0

这不是很好的记录,但存在这样的可能性。 您需要使用此JVM选项

-XX:+ UnlockCommercialFeatures -XX:+ FlightRecorder -XX:FlightRecorderOptions =

前两个是必需的,而最后一个需要与不同的参数配置,你可以找到解释here。 理解每个参数的含义并不容易,但是通过一些试验和错误,您可以很容易地找到一组好的选项。

正如参考这个人是一个最小的功能结构:

java -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,disk=true,repository=/tmp,maxage=6h,settings=default MyApp