Hello all,

 

I am sorry, I need ask help here, but I already have post this issue 

to 'Tomcat Users List' and was redirected to this list.

 

I use JBoss 4.0.3sp1 (with embedded Tomcat 5.5) and have problem 

with JVM PermGen overflow. My application allows user to deploy 

custom JSP pages to server. These JSP pages copied inside one 

web-app without its redeploying. After several days of the system 

work, classes of the compiled JSP pages overflow Java PermGen space. 

It is needed to drop all references to classloader, to allow GC to 

finalize classloader and free PermGen from classes loaded by it. But 

Tomcat drop references to classloader only when web-application 

undeployed.

 

To resolve this issue I have decide to replace JSP servlet (servlet 

mapped to *.jsp) with my own implementation. My JSP servlet will call 

JSP-compiler and load each compiled class by separate classloader 

instance, which won't be references from anywhere. This will allow GC

to remove classloader and free PermGen.

 

I think this will help. Am I right? By the way, is there any

easier solution for described problem? All comments are welcome.

 

--

Nikita

 

PS1: I know, PermGen size can be increased with JVM option 

-XX:PermSize. It helps, but it doesn't solve problem completely.

 

PS2: Deploying custom JSP pages by user is the primary design of my 

system and can't be changed.

Reply via email to