У меня есть приложение Grails, которое развернуто на сервере Tomcat 6. Некоторое время приложение работает нормально (день или два), но со временем постепенно расходует все больше и больше памяти, пока не остановится, а затем превзойдет максимальное значение. Как только я перезагружаю контейнер, все в порядке. Я проверял это с помощью плагина Grails JavaMelody, а также плагина Application Info, но мне нужна помощь в определении того, что я должен искать.
Звучит как утечка приложений, но, насколько мне известно, нет доступа к каким-либо неуправляемым ресурсам. Кроме того, похоже, что кэш Hibernate находится под контролем. Похоже, что при запуске сборщика мусора я получаю приличный кусок памяти обратно, но я не знаю, как сделать это устойчиво.
Итак:
- Как я могу использовать эти (или другие) инструменты мониторинга, чтобы выяснить, где проблема?
- Есть ли другой совет, который может мне помочь?
Большое спасибо.
EDIT
Я использую Grails 1.3.7 и плагин Quartz.