Мне нужно найти утечку памяти в приложении Java. У меня есть некоторый опыт в этом, но я бы хотел получить совет по методологии/стратегии для этого. Любые рекомендации и рекомендации приветствуются.
О нашей ситуации:
- Дампы кучи больше 1 ГБ
- У нас есть кучи с 5 случаев.
- У нас нет тестового примера, чтобы спровоцировать это. Это происходит только в (массивной) тестовой среде после использования не менее недели.
- Система построена на внутренне развитой устаревшей структуре с таким количеством недостатков дизайна, что их невозможно сосчитать.
- Никто не понимает рамки в глубину. Он был передан одному парню в Индии, который едва успевает отвечать на электронные письма.
- С течением времени мы сделали дампы кучи снимков и пришли к выводу, что с течением времени ни один компонент не увеличивается. Это все, что медленно растет.
- Вышеупомянутое указывает нам, что он является основой доморощенной системы ORM, которая увеличивает ее использование без ограничений. (Эта система отображает объекты в файлы?! Так что это не ORM)
Вопрос: Какова методология, которая помогла вам добиться успеха при поиске утечек в приложении масштаба предприятия?