У меня есть утечка памяти пермского поколения, которую я знаю. Профилирование с помощью jvisualvm показывает, что при горячем развертывании (например, остановка и запуск приложения без уничтожения JVM, в tomcat, WebSphere, WebLogic и т.д.) - пространство PermGen постоянно увеличивается.
После прочтения, используя jhat и другие дополнительные инструменты, я понял, что у меня, вероятно, есть ссылка на WebAppClassLoader
из класса где-то в его загрузчиках родительского класса.
Я не мог прикрепить его, хотя я сделал несколько массивных запросов на основе JavaScript на jhat
Нет ли простой утилиты, которая выясняет, кто несет ответственность за вас, загрузчик классов, чтобы не собирать мусор (таким образом, позволяя сборку мусора классов, загружаемых им)?
Я пробовал JProfiler, jvisualvm, jhat и много Google
всем друзьям LMGTFY - я провел около полутора дней, читая форумы с помощью пошаговых инструкций, не повезло. Я ищу утилиту или код, который выводит:
Объект X класса Y - единственный корень GC, который не позволяет удалить ваши классы.