运行java飞行记录器JFR(java flight recorder)

JFR

上面讲到的工具都是作为快速的查看诊断工具的。如果要深入分析问题,可以选择使用内置的Java飞行记录器:Java Mission Control。

 

转储JFR需要三步:

1. 创建一个包含了你自己配置的JFR模板文件。运行jmc, 然后Window->Flight Recording Template Manage菜单。准备好档案后,就可以导出文件,并移动到要排查问题的环境中。

2. 由于JFR需要JDK的商业证书,这一步需要解锁jdk的商业特性。

C:\Users\lenovo>jcmd 8152 VM.unlock_commercial_features

3. 最后你就可以启动JFR。

jcmd <PID> JFR.start name=test duration=60s settings=template.jfc filename=output.jfr

上述命令立即启动JFR并开始使用templayte.jfc的配置收集60s的JVM信息,输出到output.jfr中。

一旦记录完成之后,就可以复制.jfr文件到你的工作环境使用jmc GUI来分析。它几乎包含了排查jvm问题需要的所有信息,包括堆dump时的异常信息。

 

还有一种方式:

在JVM的启动参数中增加如下参数:
-XX:+UnlockCommercialFeatures -XX:+FlightRecorder

一分钟后可查看记录数据,通过这些数据,可以清楚的了解到这一分钟时间内,整个操作系统以及JVM的所有数据情况。

 

 

posted on 2018-03-09 14:38  duanxz  阅读(20550)  评论(0编辑  收藏  举报