Здравствуйте, msqrt84, Вы писали:
M>Привет, всем!
M>Проблема собственно в том, что возникает вышеуказанная ошибка (в JBoss'е). Я так понимаю, что проблема в non-heap memory — она заканчивается
.
M>Пробовали её увеличивать, помогает, но память всё равно постоянно увеличивается и достигает предела. Опять ошибка.
M>Может, кто с этим сталкивался? В чём может быть проблема?
M>Спасибо за любой совет или предположение.
Этот эффект называется orphaned classloader
Вот пара ссылок
здесь и
здесь.
Там все подробно написано.
Но грубо говоря этот эфект наблюдается когда обекты созданные COntainer ClassLoader-ом начинают ссылаться на обекты созданные Application ClassLoader-ом. Тогда при редеплое приложения Application ClassLoader просто зануляется, но обект из COntainer ClassLoader держит ссылку на обект, который держит ссылку на Его класс, который держит ссылку на Application ClassLoader, который, в свою очередь, держит ссылки на все, созданные им объекты. Но обекты то собираются GC, но вот обекты типа Class не мобираются так как они как раз выделяются в PermGen. Ну и при нескольких редеплоях соответственно память заканчивается.
О как. Аж сам понял.