Имейте cronjob, который делает jcmd JFR.dump
, по крайней мере для JDK 11 он имеет параметры начала / конца.
$ 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.Если вы хотите сохранить более длинную историю, несколько записей могут быть запущены с разным объемом.
См., Например, http://isuru -perera.blogspot.com / 2015/02 / java-flight-Recder-непрерывный recordings.html