atom feed25 messages in org.apache.tomcat.usersRe: reducing tomcat & jasper memory f...
FromSent OnAttachments
Julian LöffelhardtDec 30, 2002 11:36 am 
Wagoner, MarkDec 30, 2002 11:48 am 
Jerome "Lacoste (Frisurf)"Dec 30, 2002 11:51 am 
Julian LöffelhardtDec 30, 2002 12:29 pm 
Julian LöffelhardtDec 30, 2002 12:29 pm 
Paul YunusovDec 30, 2002 12:30 pm 
Justin L. SpiesDec 30, 2002 12:34 pm 
Remy MaucheratDec 30, 2002 12:39 pm 
Craig R. McClanahanDec 30, 2002 12:43 pm 
mechDec 30, 2002 12:50 pm 
Torsten FohrerDec 30, 2002 2:38 pm 
Dan PayneDec 30, 2002 2:42 pm 
Peiqiang HanDec 30, 2002 3:04 pm 
Julian LöffelhardtDec 30, 2002 4:55 pm 
Jerome "Lacoste (Frisurf)"Dec 31, 2002 2:42 am 
Luc FoisyDec 31, 2002 7:43 am 
Goehring, Chuck Mr., RCI - San DiegoDec 31, 2002 12:28 pm 
Jason PyeronDec 31, 2002 12:55 pm 
Ken AndersonDec 31, 2002 2:06 pm 
Brian ToppingDec 31, 2002 2:44 pm 
Gary GwinDec 31, 2002 4:03 pm 
Triptpal Singh LambaDec 31, 2002 5:21 pm 
Will HartungJan 2, 2003 2:27 pm 
Julian LöffelhardtJan 2, 2003 5:38 pm 
Will HartungJan 2, 2003 6:53 pm 
Subject:Re: reducing tomcat & jasper memory footprint
From:Julian Löffelhardt (jul@austria.fm)
Date:Dec 30, 2002 4:55:01 pm
List:org.apache.tomcat.users

Hi,

My problem isin't javac memory leakes. Due to the apache/tomcat documentation I was aware of this an setup jikes as my jsp compiler. I'm also using JDK 1.4.1 so the javac issues should be solved, nonetheless. The main problem is as follows: 1. Every article & every page in general is a jsp page 2. All the pages are generated by a legacy CMS-System (imperia) and I can't change the structure of it's works. 3. Every jsp page, once loaded, consumes memory, since the class remains loaded. 4. We have 1000s of pages , every day some 200-300 new, so memory use increases.

Conclusion: The way we use jsp's for a cms is faulty. But I can't do anything about this. Increasing permSize of the JVM helps a lot. Maybe it would be a good idea to include some hints about -XX:MaxPermSize and XX:PermSize into the documentation because it really helps lessen the problems. But: Is there any generic way to get a stable tomcat with huge number of jsp's ?

Thanks for all ya feedback & llap + happy new year...

julian

Paul Yunusov wrote:

On Monday 30 December 2002 02:37 pm, Julian Löffelhardt wrote:

Hi,

I'm using Apache 1.3.26 and 3 tomcat 4.0.4 instances with AJP13 & loadbalancing . Our application is a CMS where all the published articles are generated offline as JSP-Files, one jsp per article.

We had hige problems with the memory footprint. Due to the fact that every jsp is generated as a class and there are about 200 new artices per day the permanent segment of the JVM heap gets filled with all the classes, and I get an OutOfMemoryError. My workaround for now is setting -XX:PermSize and --XX:MapPermSize to higher values, but this just delays application hang-up.

With 64 megs of permSize our Server had an approx. uptime of 1 day now it's about 3-4 days.

Is there any way to unload jsp-Files (unload the class) ?

llap, julian

JAVAC leaks memory every time a JSP class is compiled. The more JSPs are compiled or the more often JSP classes are compiled, the more memory is leaked. You exacerbate this problem by generating a JSP per article often.

IMHO, generating a JSP per article is misusing the technology. JSP is a templating solution whereas one JSP describes a layout of any number of end documents. I suggest you change your software to generate an HTML file per artcile rather than a JSP.

Maybe it's abusing the technology, but it really should work fine. Workarounds for the problem include using jikes, or using javac out of process (I don't quite remember how it is configured; since Jasper 2 uses Ant javac task to compile, it should be in the Ant docs on the javac task).

Remy