From: thomas at tada.se (Thomas Hallgren) Date: Tue, 27 Jun 2006 16:03:05 +0200 Subject: [Pljava-dev] java.lang.OutOfMemoryError In-Reply-To: <44A134C6.5030003@insa-toulouse.fr> References: <4492740D.4040302@insa-toulouse.fr> <4492BB01.5060205@tada.se> <44965774.7050203@insa-toulouse.fr> <44966070.4040806@tada.se> <44A134C6.5030003@insa-toulouse.fr> Message-ID: <44A13A99.60406@tada.se> Hi Eric, I just CC'd you on a mail that I posted to the PostgreSQL hackers list concerning your 'buffer refcount leak'. I'm not sure that's the cause of your problems though. I need to know more about what you actually do during your 'long treatment'. Some operations might be very memory consuming. You're OK with -Xmx512M you say. Have you been able to figure out where the upper bound is? What happens with -Xmx256M, -Xmx128M, etc.? Are you doing a lot of XML processing? Do you have code that reuses a lot of class loaders over and over again (might run out of perm-gen space). Regards, Thomas Hallgren Eric BOYER wrote: > Hello, > > we use now pljava 1.3 and postgres 8.1.4 > we can't use java 1.5 because it depends on xmlrpc 3 which is an alpha > version. > > The problem is still there. > > We have a big treatment and after a long time, we have this outOfMemory. > We print the warning on the statement : > ERROR - ====>org.postgresql.pljava.internal.ServerException: > java.lang.OutOfMemoryErrorjava.lang.OutOfMemoryError > INFO - Statement WarningWARNING: buffer refcount leak: [779] > (rel=1663/16440/52989, blockNum=3, flags=0x27, refcount=1 2) > > What could be this buffer refcount leak. > > Is the "buffer refcount leak" the cause of the OufOfMemoryError or its > consequence ? > > This long treatment is OK if we have the option : -Xmx512M > If we use -Xmx8M, it crash more quickly ! > > Thanks for your help > > Eric > > > > Thomas Hallgren a ?crit : > >> Eric BOYER wrote: >> >>> Thomas Hallgren a ?crit : >>> >>>> Eric, >>>> You limit the postmaster to use 64M memory per session. >>>> >>> A session is a the trigger ? >>> >> No, a session is a connection to the database. >> >>> We use : >>> Postgres 8.1 >>> Pljava 1.2.0 >>> jdk 1.4 >>> >>> Our server launch trigger which launch trigger, etc ... >>> The treatment is long sometimes ... >>> >> I would recommend three things. >> >> 1. Upgrade your Java to a 1.5.0_07 version. It performs much better >> from a memory consumption perspective. >> 2. Updgrate to PL/Java 1.3.0 >> 3. If that doesn't help, try -Xmx128M. >> >> Regards, >> Thomas Hallgren >> > >