У меня есть приложение Spring boot + hibernate (не Spring boot jpa). После обновления с Spring boot 2.7.7 до Spring boot 3.2.7 я стал свидетелем увеличения использования памяти (не совсем до такой степени, но определенно беспокоит). Я сделал дампы кучи через jvisualmv, но он запускает полный сборщик мусора, и полученная картина кучи такая же, как и в старой версии приложения. Приложение использует G1 gc. Я пытался проанализировать образцы, и он показывает, что gc работает (типичное изображение пилы), но размер используемой кучи продолжает расти и расти. Версия Java – 17. Есть совет?
По сравнению с предыдущей версией: желтый рисунок указывает на работу более старой версии. на другом узле, зеленый — текущая версия. Мне бы хотелось каким-то образом получить предыдущее поведение для более новой версии.
xms: 256M
Xmx: 1G
-XX:+AlwaysPreTouch
-XX:+UseG1GC
-XX:+ScavengeBeforeFullGC
-XX:InitiatingHeapOccupancyPercent=60
-XX:MaxGCPauseMillis=10000
Подробнее здесь:
https://stackoverflow.com/questions/790 ... ing-boot-3