I would plug jconsole into your resin instance and watch what's happening to the JVM memory. Could be loose open threads (and large thread size) that grows over time and eats up free memory. Restarting would kill all the threads and free the memory.
http://java.sun.com/j2se/1.5.0/docs/guide/management/jconsole.html Adam ----- Original Message ---- From: Stargazer <starga...@blueyonder.co.uk> To: General Discussion for the Resin application server <email@example.com> Sent: Saturday, March 21, 2009 4:39:56 AM Subject: Re: [Resin-interest] Perf Issues Ronan Lucio wrote: > Hi, > > We have had a perf issue. > > Our servers have 4Gb RAM. It has just Resin and Apache installed. > > The problem is, when I start Resin, the whole server uses about 2.5 Gb RAM > After that memory usage keep growing til it reachs the 4Gb RAM, use swap > and so on. > > After few hours the application start getting slow. > Analyzing the server sources, it's using so low CPU, load about 1... I > see none overload evidence, except for RAM memory. > > So I just restart Resin and/or Apache and application gets fast again, > but few ours later it will raise the same issue. > > I have been suffering from exactly those symptoms for years. Do your httpd processes consume all the swap, with top showing some at 450Mb? (default httpd.conf values) I.e does restarting apache alone, and not resin, cause the swap to drop back down to normal until the next slow growth starts it all again? That is my pattern. So when I profile resin theres no unusual growth even through the whole server is effectiviley dead until restart. Given that, whos to blame? Could mod_caucho somehow be at fault even though resin itself is ok? I have another identical server running a couple of PHP CMS apps, no resin or java in sight - because of this problem actually. The plan is to move everything over when stable but these have become too critical to play with. Their typical httpd swap use is 25Mb, and its the default httpd.conf. I would dearly love to know what the httpd on the failing server thinks it needs to hold onto 450Mb for, without tweaking there could be 20 of these. There are other non-quercus PHP apps running on that server btw. My "solution" is to kill child httpd processes at a far quicker rate than you'd normally want, and it works of sorts: <IfModule prefork.c> StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 96 </IfModule> <IfModule worker.c> StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 96 </IfModule> > This problem usually happens on peaks hours. > > So we upgraded RAM memory to 8Gb with a PAE kernel. > Although it doesn't reach the 8G RAM, slow moments gots for frequent. It > seems to work worse that way (8Gb + PAE kernel). > > The question is: > Is there everyone having the same issue with Resin (3.1.6)? > My doubt if such problem resides either on Resin or on my application. > > All versions prior to 3.1.6, and currently with 3.2.1 Pro > Thanks, > Ronan > > > > _______________________________________________ > resin-interest mailing list > firstname.lastname@example.org > http://maillist.caucho.com/mailman/listinfo/resin-interest > > ------------------------------------------------------------------------ > > > No virus found in this incoming message. > Checked by AVG - www.avg.com > Version: 8.0.238 / Virus Database: 270.11.21/2014 - Release Date: 03/20/09 > 06:59:00 > > _______________________________________________ resin-interest mailing list email@example.com http://maillist.caucho.com/mailman/listinfo/resin-interest _______________________________________________ resin-interest mailing list firstname.lastname@example.org http://maillist.caucho.com/mailman/listinfo/resin-interest