尝试自动化 java 任务控制,可能吗?
trying to automate java mission control, is it possible?
是否可以自动执行 java 任务控制,每小时将 1 分钟的飞行记录转储到文件夹中?
例如:服务器是 运行 一个 24/7 应用程序,我希望每小时将 .jfr 文件自动转储到一个文件中
有一个执行 jcmd JFR.dump
的 cronjob,至少 JDK 11 它有 begin/end 个参数。
$ java -XX:StartFlightRecording MyApp
然后创建转储脚本,例如
jcmd MyApp JFR.dump filename=/dumps begin=-1m
然后添加一个cronjob
$ crontab -e.
脚本条目:
*/60 * * * * /scripts/dumpjfr.sh
对于旧版本,如果您想控制转储的量,您可能必须使用 FlightRecorder MXBean,或者使用 -XX:StartFlightRecording=maxage=1m 将记录的最大长度设置为一分钟。如果你想保留更长的历史记录,可以用不同的maxage开始多次记录。
参见示例http://isuru-perera.blogspot.com/2015/02/java-flight-recorder-continuous-recordings.html
是否可以自动执行 java 任务控制,每小时将 1 分钟的飞行记录转储到文件夹中?
例如:服务器是 运行 一个 24/7 应用程序,我希望每小时将 .jfr 文件自动转储到一个文件中
有一个执行 jcmd JFR.dump
的 cronjob,至少 JDK 11 它有 begin/end 个参数。
$ java -XX:StartFlightRecording MyApp
然后创建转储脚本,例如
jcmd MyApp JFR.dump filename=/dumps begin=-1m
然后添加一个cronjob
$ crontab -e.
脚本条目:
*/60 * * * * /scripts/dumpjfr.sh
对于旧版本,如果您想控制转储的量,您可能必须使用 FlightRecorder MXBean,或者使用 -XX:StartFlightRecording=maxage=1m 将记录的最大长度设置为一分钟。如果你想保留更长的历史记录,可以用不同的maxage开始多次记录。
参见示例http://isuru-perera.blogspot.com/2015/02/java-flight-recorder-continuous-recordings.html