| From | Sent On | Attachments |
|---|---|---|
| Julian Löffelhardt | Dec 30, 2002 11:36 am | |
| Wagoner, Mark | Dec 30, 2002 11:48 am | |
| Jerome "Lacoste (Frisurf)" | Dec 30, 2002 11:51 am | |
| Julian Löffelhardt | Dec 30, 2002 12:29 pm | |
| Julian Löffelhardt | Dec 30, 2002 12:29 pm | |
| Paul Yunusov | Dec 30, 2002 12:30 pm | |
| Justin L. Spies | Dec 30, 2002 12:34 pm | |
| Remy Maucherat | Dec 30, 2002 12:39 pm | |
| Craig R. McClanahan | Dec 30, 2002 12:43 pm | |
| mech | Dec 30, 2002 12:50 pm | |
| Torsten Fohrer | Dec 30, 2002 2:38 pm | |
| Dan Payne | Dec 30, 2002 2:42 pm | |
| Peiqiang Han | Dec 30, 2002 3:04 pm | |
| Julian Löffelhardt | Dec 30, 2002 4:55 pm | |
| Jerome "Lacoste (Frisurf)" | Dec 31, 2002 2:42 am | |
| Luc Foisy | Dec 31, 2002 7:43 am | |
| Goehring, Chuck Mr., RCI - San Diego | Dec 31, 2002 12:28 pm | |
| Jason Pyeron | Dec 31, 2002 12:55 pm | |
| Ken Anderson | Dec 31, 2002 2:06 pm | |
| Brian Topping | Dec 31, 2002 2:44 pm | |
| Gary Gwin | Dec 31, 2002 4:03 pm | |
| Triptpal Singh Lamba | Dec 31, 2002 5:21 pm | |
| Will Hartung | Jan 2, 2003 2:27 pm | |
| Julian Löffelhardt | Jan 2, 2003 5:38 pm | |
| Will Hartung | Jan 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
----- Original Message ----- From: "Remy Maucherat" <re...@apache.org> To: "Tomcat Users List" <tomc...@jakarta.apache.org> Sent: Monday, December 30, 2002 9:40 PM Subject: Re: reducing tomcat & jasper memory footprint
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





