2 июл. 2010 г.

Orphaned Classloaders

Кто-нибудь побеждал orphaned classloaders (OOME:perm space)?

6 комментариев:

roman danilin комментирует...

Тема то интересная. Вот что нарыл:
http://blogs.sun.com/fkieviet/entry/more_on..._how_to_fix
http://blogs.sun.com/edwardchou/entry/find_orphaned_classloaders
http://blogs.sun.com/fkieviet/entry/how_to_fix_the_dreaded

ekr комментирует...

Роман, спасибо ))
Эти ресурсы я смотрел в первую очередь )) И, собственно, оттуда название своей проблемы и узнал ))

Мне интересно услышать опыт редизайна приложения (последний пункт в приведенных источниках).

roman danilin комментирует...

Ок, значит ты уже в теме. Я мельком посмотрел в гугле про это.
Да, в статьях описан как определить факт утечки памяти.
Я сталкивался с тем, что просто не освобождали ресурсы после редеплоймента приложения. Особенно это возникает, если в приложении мы создаем новые треды, треды тоже надо обязательно тушить.
Еще я думаю, за часть утечек может отвечать сам сервер приложения, мы как разработчики на это почти никак повлиять не можем. Например, в Tomcat6 есть утечка памяти после редеплоймента веб приложения, в Tomcat7 эту проблему вроде решили.
Если у тебя появиться информацию как эту проблему решить с точки зрения дизайна, буду рад услышать.

ekr комментирует...

1. Свои треды в приложении - плёхо ))
2. Утечка в tomcat6, скорее всего, вызвана этими самыми orphan CLs
3. Да, обязательно сообщу, если пофиксим. Просто меня к продакшн-серверу не пущають, консолью подключиться не могу. Так что все по симптомам ))) Лечим гланды перректально )))

Unknown комментирует...

Мы пытаемся с этим бороться уже года 4.
Безрезультатно ;)
В итоге - тупо отдали в PermGen 4Gb, чтобы не мешал, и забили ;)

ekr комментирует...

Тоже вариант ))