У меня есть приложение J2EE с интересным поведением ... куча, кажется, ведет себя хорошо, растет и сокращается с коллекциями мусора, как и ожидалось с течением времени. Нет заметного общего долгосрочного расширения кучи. Тем не менее, metaspace просто неуклонно растет со скоростью около 20 Мб в час, пока мы не нажмем MaxMetaspace и не столкнемся с OOME. Я попробовал как сборщики мусора с параллельным, так и G1 (jdk1.8.0_40).Как диагностировать утечку метапроцессора Java 8?
Приложение не получает повторное развертывание во время выполнения, поэтому не похоже, что это будет типичная утечка класса. У кого-нибудь есть предложения относительно того, как отслеживать источник этой утечки?
Вы нашли ответ на этот вопрос еще? –
Можете ли вы предоставить дополнительную информацию: JEE-сервер, используемые библиотеки. – sibnick
Это была попытка запустить унаследованное J2EE-приложение на JBoss 4.2.3.GA под Java 8. Это не поддерживаемая конфигурация, но клиент действительно захотел попробовать ее. Я знаю, что с тех пор произошли серьезные изменения в загрузке JBoss, поэтому я подозреваю, что это проблема с загрузкой класса. Предположительная гипотеза Филиппа относительно генерации доверенных лиц может иметь некоторые достоинства. В конце концов мы решили «укусить пулю» и перенести приложение на Wildfly 8. –