Я пытаюсь определить, есть ли утечка памяти в моем веб-приложении. Я использую VisualVM и JMeter для загрузки теста и просмотра кучи.
Я сохранил дамп кучи в файл и скачал Eclipse Memory Analyzer вчера ... после большого разочарования VisualVM я подумал, что Eclipse точно определит утечку, если она вообще есть, лучше, чем VisualVM.
Я открыл файл кучи в Eclipse и запустил то, что они называют Отчетом о подозреваемых утечках. Я думал, что это будет указывать на определенный класс в моем веб-приложении, но это не так. Так что я понятия не имею, как использовать предоставленную информацию, чтобы выяснить, где в каком-либо конкретном классе шахты находится подозреваемый на утечку.
Вот результаты отчета о подозрении на утечку для одного из моих файлов дампа кучи.
One instance of "org.apache.catalina.session.StandardManager" loaded by "org.apache.catalina.loader.StandardClassLoader @ 0x261bdac0" occupies 16,977,376 (48.54%) bytes. The memory is accumulated in one instance of "java.util.concurrent.ConcurrentHashMap$Segment[]" loaded by "".
Keywords
org.apache.catalina.loader.StandardClassLoader @ 0x261bdac0
org.apache.catalina.session.StandardManager
java.util.concurrent.ConcurrentHashMap$Segment[]
Остальные детали в отчете показаны на прикрепленном изображении. Я надеюсь, что изображение может быть расширено для более близкого взгляда ....
Я знаю, что Eclipse должен быть действительно хорошим программным обеспечением. Это моя последняя попытка использовать что-то подобное для обнаружения утечки памяти - я просто очень и очень ограниченно знаю, КАК это программное обеспечение можно использовать для таких целей. На страницах учебника и справки все описывается так, как будто вы должны знать, что делать после нескольких нажатий ... Мне нужна дополнительная помощь.