Return-Path: Delivered-To: apmail-tomcat-users-archive@www.apache.org Received: (qmail 57412 invoked from network); 2 Nov 2007 17:04:24 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 2 Nov 2007 17:04:24 -0000 Received: (qmail 37704 invoked by uid 500); 2 Nov 2007 17:03:53 -0000 Delivered-To: apmail-tomcat-users-archive@tomcat.apache.org Received: (qmail 37255 invoked by uid 500); 2 Nov 2007 17:03:51 -0000 Mailing-List: contact users-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Users List" Delivered-To: mailing list users@tomcat.apache.org Received: (qmail 37240 invoked by uid 99); 2 Nov 2007 17:03:51 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Nov 2007 10:03:51 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [69.44.117.6] (HELO recurrentsoftware.com) (69.44.117.6) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Nov 2007 17:04:11 +0000 Received: from midnight_rose2 (gvilardi.recurrentsoft.com [69.44.117.27]) by recurrentsoftware.com (8.13.8/8.13.8/Debian-3) with ESMTP id lA2GwY4l015056 for ; Fri, 2 Nov 2007 12:58:34 -0400 From: "Greg Vilardi" Organization: Recurrent Software Solutions, Inc. To: "Tomcat Users List" Date: Fri, 02 Nov 2007 13:03:30 -0400 MIME-Version: 1.0 Subject: RE: What do I do with a heap dump? (OOM Permgen) Reply-to: gvilardi@recurrentsoft.com Message-ID: <472B2022.23180.4707F5@localhost> Priority: normal In-reply-to: <2828B04F0113CD468E6D1D51DF4362A403E5A63A@USEA-EXCH2.na.uis.unisys.com> References: <6715CF65287F8F408DA109EC03AC6C0D02B6F49A@puma.melandra.net> X-mailer: Pegasus Mail for Windows (4.21c) Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Content-description: Mail message body X-Virus-Checked: Checked by ClamAV on apache.org On 2 Nov 2007 at 7:24, Caldarale, Charles R wrote: > > From: Peter Crowther [mailto:Peter.Crowther@melandra.com] > > Subject: RE: What do I do with a heap dump? (OOM Permgen) > > > > As far as I know, public enemy #1 for eating PermGen space is > > still developers using the Singleton pattern in their code > > and not having listeners to null out the singleton instance > > when the webapp is undeployed. > > Analagous use of ThreadLocal is also a subtle contributor to the > problem. The offending references must be cleared at the end of > processing of each request, since listeners don't have ready access to > the thread pool. Thank you for the pointers Peter. We do not have any Singletons in the application nor do we use ThreadLocal. However, we do not seem to be cleaning up the JDBC classes on redeploy. I'll install the SessionListener code that is mentionned in the references in Peter's reply. I'm also using the eval version of yourkit now to see what exactly is attached to each of the 52 WebAppClassLoaders in the dump. I'll be back if I get stuck again further down the road. Thank you to all of the people who replied for the pointers and the tool recommendations. -Greg -- Gregory H. Vilardi 631-752-2701x240 gvilardi@recurrentsoft.com Project Manager / Lead Software Engineer Fax: (631)752-3397 Recurrent Software Solutions, Inc. http://www.recurrentsoft.com 1 Huntington Quadrangle, Suite 1C02, Melville, NY 11747 --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org For additional commands, e-mail: users-help@tomcat.apache.org