Из того, что я могу разглядеть, Proxool - это пул соединений для соединений JDBC.Это говорит о том, что проблема в том, что ваше приложение неправильно использует пул соединений.Вместо вызова close
для объектов операторов ваш код, вероятно, удаляет их и / или их родительские соединения.Proxool полагается на финализаторы для закрытия базовых объектов, реализованных драйвером ... но для этого нужны экземпляры Finalizer.Это также может означать, что вы заставляете соединение открывать / закрывать (реальные) соединения с базой данных чаще, чем это необходимо, и это ухудшит производительность.
Поэтому я предлагаю вам проверить свой код на утечку ResultSet, Statement и / или Connection объекты, и убедитесь, что вы закрываете их в finally
блоках.
Глядя на дамп памяти, я ожидаю, что вы обеспокоены тем, куда идут 898 527 228 байт.Подавляющее большинство остается за объектом Finalizer с идентификатором 2aab07855e38
.Если у вас все еще есть файл дампа, посмотрите, на что ссылается Finalizer
.Это выглядит более проблематично, чем объекты Proxool.