Dear John,
we've been using Magnolia 2.03 on Tomcat 5.0 using Java 1.4.2_06
for a site with roughly 25000 visits per month (that's not hits
or pages served, it's more than that). We did get some out of
memory exceptions every now and then, but the leaks were in
our code.
Are you sure you've increased the upper limit of the VM to
something reasonable? We're at least using 512 MB for each VM.
Values like 128 MB are just not good enough, especially not
if you're activating often. It's not so much a Magnolia thing,
I think.
What we did get every now and then, however, were exceptions
due to "too many open files". Again, this may very well be
caused by our code sending newsletters, but may have other
reasons (Jackrabbit, maybe even Magnolia).
What I've done is that I've used SEC to monitor log files for
this exception and also an out of memory (just in case, it
never occurred again since we fixed the problems in our code).
If SEC detects them, the affected instance is restarted.
Works extremely reliable ever since. And as I said: the excep-
tions occur only very rarely.
Andreas
_________________________________________________________________
NOSE applied intelligence ag
[www] http://www.nose.ch
[email] [EMAIL PROTECTED]
andreas weder [pgp id] 0x44117CA2
hardturmstrasse 171 [office] +41-1-277 57 11
8005 zurich [direct] +41-1-277 57 24
switzerland [fax] +41-1-277 57 12
> -----Original Message-----
> From: [email protected] [mailto:[EMAIL PROTECTED]
> Sent: Freitag, 1. Juli 2005 14:27
> To: [email protected]
> Subject: [magnolia-user] Out Of Memory on public instance
>
>
> We've recently launched the public version of a site using magnolia,
> however we are now receiving and OutOfMemory error, normally about a day
> after restarting tomcat. There were no problems with the installation of
> Java or magnolia. It seems it can't cope with the load of traffic? It's
> our first implementation with magnolia, so we're rather concerned now
> about using it for other projects.
>
> We are running magnolia 2.02 on Tomcat 5.0.28 using java 1.5.0_02, on
> Windows 2003 Server cluster. Extract from log file below.
>
> Can anyone help with this?
>
> TIA
>
> John
>
> --
>
> John Olival
> Managing Director
> Novasoft Explican
>
>
> sample output of magnoliaPublic_log.2005-07-01.log
>
>
> 2005-07-01 13:40:32 ApplicationDispatcher[] El Servlet.service() para
> servlet jsp lanzó una excepción
> java.lang.OutOfMemoryError: unable to create new native thread
> at java.lang.Thread.start0(Native Method)
> at java.lang.Thread.start(Thread.java:574)
> at
> org.apache.slide.jcr.core.observation.ObservationManagerFactory.<i
> nit>(ObservationManagerFactory.java:92)
> at
> org.apache.slide.jcr.core.RepositoryImpl.getObservationManagerFact
> ory(RepositoryImpl.java:376)
> at
> org.apache.slide.jcr.core.WorkspaceImpl.getObservationManager(Work
> spaceImpl.java:865)
> at
> org.apache.slide.jcr.core.RepositoryImpl.<init>(RepositoryImpl.java:291)
> at
> org.apache.slide.jcr.core.RepositoryFactory.getRepository(Reposito
> ryFactory.java:281)
> at
> org.apache.jsp.templates.jsp.novasoft.global.navHoriz_jsp._jspServ
> ice(navHoriz_jsp.java:110)
> at
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrap
> per.java:324)
> at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(A
> pplicationFilterChain.java:237)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Applicati
> onFilterChain.java:157)
> at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationD
> ispatcher.java:704)
> at
> org.apache.catalina.core.ApplicationDispatcher.doInclude(Applicati
> onDispatcher.java:590)
> at
> org.apache.catalina.core.ApplicationDispatcher.include(Application
> Dispatcher.java:510)
> at
> org.apache.taglibs.standard.tag.common.core.ImportSupport.acquireS
> tring(ImportSupport.java:314)
> at
> org.apache.taglibs.standard.tag.common.core.ImportSupport.doEndTag
> (ImportSupport.java:179)
> at
> org.apache.jsp.templates.jsp.novasoft.templateStdLayout.stdLayout_
> jsp._jspx_meth_c_import_2
>
> (stdLayout_jsp.java:234)
> at
> org.apache.jsp.templates.jsp.novasoft.templateStdLayout.stdLayout_
> jsp._jspService(stdLayout_jsp.java:80)
> at
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrap
> per.java:324)
> at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(A
> pplicationFilterChain.java:237)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Applicati
> onFilterChain.java:157)
> at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationD
> ispatcher.java:704)
> at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(Appl
> icationDispatcher.java:474)
> at
> org.apache.catalina.core.ApplicationDispatcher.doForward(Applicati
> onDispatcher.java:409)
> at
> org.apache.catalina.core.ApplicationDispatcher.forward(Application
> Dispatcher.java:312)
> at info.magnolia.cms.Dispatcher.dispatch(Dispatcher.java:65)
> at
> info.magnolia.cms.servlets.EntryServlet.doGet(EntryServlet.java:121)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(A
> pplicationFilterChain.java:237)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Applicati
> onFilterChain.java:157)
> at
> info.magnolia.cms.Filter.MultipartRequestFilter.doFilter(Multipart
> RequestFilter.java:76)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(A
> pplicationFilterChain.java:186)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Applicati
> onFilterChain.java:157)
> at
> info.magnolia.cms.Filter.ContentTypeFilter.doFilter(ContentTypeFil
> ter.java:52)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(A
> pplicationFilterChain.java:186)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Applicati
> onFilterChain.java:157)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapp
> erValve.java:214)
> at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardV
> alveContext.java:104)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.
> java:520)
> at
> org.apache.catalina.core.StandardContextValve.invokeInternal(Stand
> ardContextValve.java:198)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardConte
> xtValve.java:152)
> at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardV
> alveContext.java:104)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.
> java:520)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValv
> e.java:137)
> at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardV
> alveContext.java:104)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValv
> e.java:118)
> at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardV
> alveContext.java:102)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.
> java:520)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngine
> Valve.java:109)
> at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardV
> alveContext.java:104)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.
> java:520)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> at
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
> at
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
> at
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
> at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
> at
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket
> .java:675)
> at
> org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(Thre
> adPool.java:683)
> at java.lang.Thread.run(Thread.java:595)
>
>
>
> ----------------------------------------------------------------
> for list details see
> http://www.magnolia.info/en/magnolia/developer.html
> ----------------------------------------------------------------
>
>
----------------------------------------------------------------
for list details see
http://www.magnolia.info/en/magnolia/developer.html
----------------------------------------------------------------