JFR全名:java flight recoder java飞行记录器,名字定义参考飞机黑匣子而来,顾名思义就是为了在java进程崩溃时也可以提供有效的运行参考数据,抓取的数据格式为jfr,可以使用jmc工具来进行分析,jmc工具可以默认给出分析意见,以供快速的分析定位问题,
该工具受oracle官方推荐,在java8版本前为商业版java才能使用,官方数据cpu只占用越1%,官方推荐为可以长期打开
JFR命令:
//java程序启动时开启JFR
java -XX:StartFlightRecording ...
//Java程序启动时开启JFR并记录jfr文件
java -XX:StartFlightRecording:filename=/tmp/foo.jfr,dumponexit=true ...
-XX:StartFlightRecording:filename=/jfr-log/recording.jfr,dumponexit=true
//查看运行的java进程
jcmd -l
//对当前进程dump
jcmd JFR.dump filename=foo.jfr maxsize=50MB
//对正在运行的java进程启动JFR
jcmd JFR.start
//对正在运行的java进程关闭JFR
jcmd JFR.stop
//检查当前java进程的JFR状态
jcmd JFR.check
//检查当前jav