Код: Выделить всё
-XX:StartFlightRecording=disk=true,dumponexit=true,name=profile_online,filename=/tmp/profile_`hostname`-`date +%Y_%m_%d_%H_%M_%S`.jfr,maxsize=4096m,maxage=2d,settings=/opt/app/WEB-INF/tars/prod/custom.jfc,path-to-gc-roots=false -XX:FlightRecorderOptions=maxchunksize=32m
После включения указанной выше конфигурации JFR на одном из наших приложений, четыре дня спустя мы столкнулись с массовыми проблемами нехватки памяти (OOM) на 7 компьютерах.
Мы просмотрели данные мониторинга и обнаружили, что состояние кучи выглядит относительно нормальным. Однако мы заметили, что использование mem rss, которое до недавнего развертывания составляло около 15 ГБ (максимум 16 ГБ), после развертывания увеличилось примерно до 15,5 ГБ.
Чтобы решить эту проблему, мы попытался проанализировать его с помощью Native Memory Tracking (NMT) и обнаружил, что через четыре дня объем памяти для отслеживания показателей достиг примерно 400 МБ. Мы подозреваем, что метрики трассировки могут включать накладные расходы памяти из-за JFR.
Мы озадачены тем, почему массовые проблемы OOM возникли ровно через четыре дня после развертывания и связано ли потребление памяти JFR с продолжительностью выполнения. Нам также интересно узнать об основных источниках накладных расходов памяти JFR и существует ли способ оценить накладные расходы памяти JFR на основе параметров запуска.
Подробнее здесь: https://stackoverflow.com/questions/771 ... ausing-oom