参考地址1
参考地址2
最近做性能测试, 无法定位到问题, 故使用内置的Java飞行记录器:Java Mission Control.
一. 开启流程如下:
在Linux服务器上:
1. 要检查的服务的JDK要求:
JDK是1.8u44以上. 不需要配置参数;
JDK是1.8以下, 需要配置: -XX:+UnlockCommercialFeatures -XX:+FlightRecorder
2. 启动服务.
3. 开启飞行记录.
jcmd JFR.start delay=10s duration=15m filename=log.jfr
说明:
pid: 服务的进程号. 使用ps -ef | grep java 查询. (使用时去除尖括号)
delay: 延迟开启配置. delay=10s 代表延迟10秒开启.
duration: 指收集的日志时长. duration=15m, 代表收集15分钟的JVM信息.
filename: 指将收集的日志存在指定的日志文件中. filename=log.jfr, 代表将收集的日志存放在log.jfr中.
二. JFR(Java Flight Recorder)
如何查看飞行记录? 下面展示如何查看飞行记录:
1. 常规选项卡
“常规”选项卡包含一些描述常规应用程序的子选项卡,第一个子选项卡是Overview,它显示了一些基本信息,如堆最大使用率,总CPU使用率和GC暂停时间,如图2-9 所示: