Hi everyone, Thanks for the tips and clarification about the PermGen out of memory error. I did a bit of research on that myself and found out that the problems is bigger than I initially thought. The source of the problem is not directly coming from XWiki code, but from the supporting libraries: Hibernate, Tomcat, and Sun's JDK 1.6.
Here is a link that explain a bit about the problem: http://blogs.sun.com/fkieviet/entry/classloader_leaks_the_dreaded_java Regarding to the solution, I could not pin point the exact library that caused the error, but i suspect is related Tomcat's class loader. I know that by raising the permanent geration memory (-XX:MaxPermSize) would not fix the leak, it will just delays the out of memory error. So, I have temporally moved to a Jetty server and hope it stays up longer and more stable. Richard > Date: Thu, 29 May 2008 21:21:58 +0200 > From: [EMAIL PROTECTED] > To: users@xwiki.org > Subject: Re: [xwiki-users] Xwiki memory leak? > > Pavel wrote: > > Notice that PermGen space is not java heap. > > > > Therefore I suppose it is unlikely to have anything to do with attachment. > > Not in this case. > > > > You may want to check if other web applications are deployed to your tomcat > > instance - and if they use many classes/libs. > > > > Then you may want to increase the "-XX:MaxPermSize" or undeploy some > > webapps. > > You are right, PermGen has nothing to do with objects used by the XWiki > platform. So, either the default size is not enough to hold many > applications, or there is a bug in one of the libraries we're using that > creates classes (Groovy? Hibernate+CGLib?). For the moment try > increasing the -XX:MaxPermSize to 128M and see if the problem persists. > > > Pavel > > > > On Thu, May 29, 2008 at 9:16 PM, Richard V. <[EMAIL PROTECTED]> wrote: > > > >> Thanks for the prompt response. > >> > >> The answer regarding to large attachments is no. I don't have any large > >> attachments in any of my pages. > >> > >> The "out-of-memory" error happens without any page in common, but when that > >> happens, any other page that I want to access will result with the same > >> error. It is like once memory has run out, it is unrecoverable. > >> > >> You may be right regarding to the DB connections threads not receiving the > >> shutdown message, but that does not explain why i can't properly shutdown > >> tomcat with XWiki deployed. Again, Tomcat shutdows smoothly when XWiki is > >> not present. I don't mind not being able to gracefully shutdown tomcat, > >> since i can always do "kill -9 <pid>", but what annoys me is the > >> out-of-memory error after certain time. > >> > >> What could be the problem? This is happening on my development machine, but > >> I am going to build another Linux machine right now and try if I can > >> replicate the problem. > >> > >> Richard > >> > >>> Date: Thu, 29 May 2008 19:46:20 +0200 > >>> From: [EMAIL PROTECTED] > >>> To: users@xwiki.org > >>> Subject: Re: [xwiki-users] Xwiki memory leak? > >>> > >>> Richard V. wrote: > >>>> Hi XWiki users, > >>>> > >>>> I have encountered a problem where after running XWiki on my tomcat > >> server for a week, i get an java.lang.OutOfMemoryError: PermGen space > >> error. > >> It appears that xwiki consumed all the java heap space. I believe the > >> problem may be related to unreleased DB connections because, I noticed that > >> everytime I try to shutdown tomcat, it hangs with xwiki deployed, also by > >> running "ps aux" i see the postgresql connection processes belonging to > >> xwiki still running. I tried deploying another application that uses > >> hibernate + postgresql on the same tomcat running xwiki, and upon shutting > >> down the server, all db connection processes from the other application > >> gracefully terminate but not the ones from xwiki. > >>>> My question is does anyone ever had this problem before? If so what is > >> the solution? > >>>> Solutions that I have tried but did NOT work: > >>>> 1- Increase java heap with -Xmx512m > >>>> 2- Reduce the maximum and minimum idle DB connections > >>>> > >>>> My system specs: > >>>> > >>>> OS: Linux ubuntu kernel 2.6.20 > >>>> Java: 1.6.0_05-13 > >>>> Xwiki: 1.4 (binary distribution) > >>>> Posgresql: 8.2.6 > >>>> Total RAM: 1Gb > >>>> > >>> AFAIK, there isn't a leak, but a somewhat "normal" behavior caused by > >>> the cache settings. The cache is configured to be a fixed size LRU > >>> cache, so if you store large entries in the cache, they will be kept > >>> there. The OOM error appears mostly when there are large attachments in > >>> the database. You should either reduce the size of the attachment cache > >>> or increase the memory. > >>> > >>> The shutdown problem is a different thing, it doesn't have anything to > >>> do with the database connections. I think it is because of some threads > >>> we're spawning that don't receive the shutdown message (the quartz > >>> scheduler for example). A memory leak regarding DB connections would > >>> mean there are thousands of open connections to the database, but I am > >>> pretty sure that's not the case, right? > >>> > >>> So, the main question is: Are there many & pretty large attachments in > >>> the wiki? > > -- > Sergiu Dumitriu > http://purl.org/net/sergiu/ > _______________________________________________ > users mailing list > users@xwiki.org > http://lists.xwiki.org/mailman/listinfo/users _________________________________________________________________ Change the world with e-mail. Join the i’m Initiative from Microsoft. http://im.live.com/Messenger/IM/Join/Default.aspx?source=EML_WL_ChangeWorld _______________________________________________ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users