假设我使用以下标志为我的 JVM 配置了连续飞行记录
java
-XX:StartFlightRecording=disk=false,dumponexit=true
-XX:FlightRecorderOptions=memorysize=200m
-jar
....
据我了解,此配置在热点事件的内存中最多存储 200mb,达到限制时丢弃最旧的。
要转储我正在使用JFR.dump
命令的记录,请通过jcmd
. 还有一种通过任务控制提取记录的替代方法,但由于其中的一个错误,我没有成功提取在任务控制的 JVM 之外运行的记录。令人惊讶的是,MBean 服务器管理工作正常。
无论如何,我看到可以通过任务控制通过“转储”功能指定从连续记录转储的间隔范围,例如从 2021-01-01 13:00:00 到 2021-01-01 14:00: 00. 假设当前时间为 2021-01-02 17:00:00。如何通过 指定相同的间隔JFR.dump
?查看JFR.dump参考,没有任何标志可以做到这一点。那么任务控制是如何做到的呢?
注意:我使用的是 JMC 8 和 Oracle JDK 11 0 10u8。