写在前面
当我在通过IDEA尝试执行 Run ‘xxx’ With 'Java Flight Recorder ',控制台抛出错误(编译期间出错),当我试着去解决这个问题,发现了一个新的知识,Java Flight Recorder(Java飞行记录)
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Error: To use 'FlightRecorder', first unlock using -XX:+UnlockCommercialFeatures.
一、简介 JFR(Java Flight Recorder)
- Java Flight Recorder是一款优秀的java应用诊断工具,以前是商业版的特性,在java11之后版本开源,它导出的jfr文件可以用Java Mission Control来分析。
- JDK11之后内置了相关API,可以用来解析jfr文件,也可以在应用程序自定义事件发布出来
- JFR可以采用JVM命令启动,也可以使用jcmd的JFR.开头的命令在运行时操作
二、IDEA 运行调试 JFR
测试环境 springboot 2.0.8 + IntelliJ IDEA 2019.2.4
直接 Run ‘xxx’ With 'Java Flight Recorder ',控制台会报错,需要以下配置
2.1、IDEA启动配置
配置参数
VM options: -XX:+UnlockCommercialFeatures
2.2、运行 Run ‘xxx’ With 'Java Flight Recorder ’
配置台会看到
控制台下方会配有 Profiler 栏
2.3、查看堆栈、线程、IO等参数
在 Profiler 栏中,点击 Stop Profiling and Show Result ,可看到如图数据
这里会有很多 系统类的参数,线程,IO,类加载等等,右侧黄色部分,是一个矢量图,
2.4、导出JFR文件
还支持导出