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:Remy Maucherat (re@apache.org)
Date:Dec 30, 2002 12:39:52 pm
List:org.apache.tomcat.users

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