JFR.dump не работает.«Нет данных в указанном интервале» - PullRequest
2 голосов
/ 05 июня 2019

Я получаю следующее сообщение об ошибке при выполнении jcmd 115 JFR.dump name=continuous_recording:

115:
Dump failed. No data found in the specified interval.

Я начал запись со следующей конфигурацией:

XX:StartFlightRecording=disk=true,dumponexit=true,
filename=/home/site/diagnostics/recording.jfr,
maxsize=1024m,maxage=1d,name=continuous_recording

Возможно, буфер еще не заполнил минимальный размер чанка. Но команда JFR.check не предоставляет эту информацию.

Обновление:

Я могу получить дамп из Java-приложения, если я запускаю JFR.dump без указания имени записи. Я попытался инкапсулировать имя записи в кавычки (экранированные и не экранированные) и получил ту же ошибку, что и раньше.

005c736ce3ee:/home# jcmd 115 JFR.dump filename="home/6_10_dump1.jfr"
Picked up JAVA_TOOL_OPTIONS:  -Djava.net.preferIPv4Stack=true
115:
Dumped recording, 155.8 MB written to: /home/6_10_dump1.jfr

Ответы [ 2 ]

1 голос
/ 05 июня 2019

Какую версию JDK вы используете? Чанк не должен быть заполнен.

Существует ошибка [1], которая возникает в JDK 11 или более поздней версии, если вы задаете имя файла, который хотите выгружать при запуске, но не указываете его при выгрузке файла.

Попробуйте как обойти:

$ jcmd 115 JFR.dump filename=recording.jfr

[1] https://bugs.openjdk.java.net/browse/JDK-8220657

0 голосов
/ 22 июля 2019

Поддержка Azul помогла понять это. Если вы не указали имя файла при запуске виртуальной машины, то работает следующее:

XX:StartFlightRecording=disk=true,name=continuous_recording,dumponexit=true,maxsize=1024m,maxage=1d

Эта ошибка была зарегистрирована и исправлена ​​как JDK-8220657. Азул сказал, что они отправят это в Зулу 8 и 11 в будущем.

...