jfr.dump каждые пять минут, чтобы снимать записи полетов в файл.
Однако мы замечаем проблемы с производительностью, которые совпадают с выполнением этой команды.
Это проявляется в моей службе на основе Vert.x как: < /p>
Код: Выделить всё
2025-02-05 17:00:39.998 [33] WARN io.vertx.core.impl.BlockedThreadChecker - Thread Thread[#34,vert.x-eventloop-thread-0,5,main] has been blocked for 3154 ms, time limit is 2000 ms
< P> Периодический процесс мало что делает. Сервис работает на экземпляре AWS EC2. Существует пара вызовов скручивания, чтобы получить подробную информацию о экземпляре, то это делает файл JFR и копирует его на S3.
Основное JCMD < /code> просто: < /p>
jcmd $PID JFR.dump name=jfr filename=$JFR_FILE_LOCATION > /dev/null && log_message "JFR dump succeeded" || log_message "JFR dump failed"
< /code>
попытался пропустить копию на S3, думая, что это может замедлить вызовы AWS API или что -то, что можно остановить основной теме, это не помогло. Пытался использовать ZGC на всякий случай, но это не помогло. (Статистика кучи не включена.)
Я не думал, что записи полетов должны остановить JVM таким значительным способом. исправить это?
Подробнее здесь: https://stackoverflow.com/questions/794 ... i-fix-this