У меня есть два экземпляра веб-приложения, работающего на двух разных серверах на tomcat. Когда я добавляю конфигурацию репликации сеанса с помощью многоадресной рассылки, она дает мне ошибку пермг в течение следующих пяти минут (у меня было всего два активных сеанса). Но за эти пять минут все выглядит нормально: сеансы на одном сервере успешно реплицируются на другой сервер. Когда у меня нет настройки многоадресной рассылки, я не вижу проблем с пердженями.Ошибка Permgen при многоадресной передаче
Любая идея, почему многоадресная рассылка потребляет всю доступную память всего за два сеанса?
Thanks Brett. Количество раз, когда класс используется для поддержки репликации сеанса, пропорционален количеству активных сеансов, которые реплицируются. Поэтому он исчерпывает PermGen. Имеет смысл. И когда я проверил количество активных сеансов, их было 1500, когда в сети не было пользователя. Все сеансы имеют размер 0 байт. Каждый сеанс создается каждую минуту с двумя атрибутами. Это «_psiprobe_la_ip» и «_lambda_probe_la_ip». Я не знаю, почему. Мы используем psi-зондовый инструмент для администрирования tomcat. Этот инструмент создает сеансы раз в минуту? –
No - ** 1 ** java.lang.Class экземпляр для определенного класса, независимо от того, сколько экземпляров этого класса у вас есть (игнорируя, например, несколько веб-приложений с одним и тем же классом в одной JVM). Только файл java.lang.Class хранится в PermGen, а не в экземплярах объекта. Не стесняйтесь ознакомиться с [этой моей блога моей] (http://java.jiderhamn.se/2011/12/11/classloader-leaks-i-how-to-find-classloader-leaks-with-eclipse-memory -analyser-mat /) о том, как найти утечку, и [эта моя библиотека] (https://github.com/mjiderhamn/classloader-leak-prevention), которая может помочь вам избежать этой проблемы. –