From continuum-dev-return-4940-apmail-maven-continuum-dev-archive=maven.apache.org@maven.apache.org Thu Apr 13 06:23:20 2006
Return-Path:
Delivered-To: apmail-maven-continuum-dev-archive@www.apache.org
Received: (qmail 37399 invoked from network); 13 Apr 2006 06:23:10 -0000
Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199)
by minotaur.apache.org with SMTP; 13 Apr 2006 06:23:10 -0000
Received: (qmail 37742 invoked by uid 500); 13 Apr 2006 06:23:09 -0000
Delivered-To: apmail-maven-continuum-dev-archive@maven.apache.org
Received: (qmail 37718 invoked by uid 500); 13 Apr 2006 06:23:08 -0000
Mailing-List: contact continuum-dev-help@maven.apache.org; run by ezmlm
Precedence: bulk
List-Help:
List-Unsubscribe:
List-Post:
List-Id:
Reply-To: continuum-dev@maven.apache.org
Delivered-To: mailing list continuum-dev@maven.apache.org
Received: (qmail 37707 invoked by uid 99); 13 Apr 2006 06:23:08 -0000
Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49)
by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 12 Apr 2006 23:23:08 -0700
X-ASF-Spam-Status: No, hits=0.0 required=10.0
tests=
X-Spam-Check-By: apache.org
Received-SPF: neutral (asf.osuosl.org: local policy)
Received: from [203.59.1.224] (HELO mail-ihug.icp-qv1-irony6.iinet.net.au) (203.59.1.224)
by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 12 Apr 2006 23:23:06 -0700
Received: from 203-158-36-156.dyn.iinet.net.au (HELO [192.168.237.213]) ([203.158.36.156])
by mail-ihug.icp-qv1-irony6.iinet.net.au with ESMTP; 13 Apr 2006 14:22:42 +0800
X-BrightmailFiltered: true
X-Brightmail-Tracker: AAAAAA==
X-IronPort-AV: i="4.04,117,1143993600";
d="scan'208"; a="260503603:sNHT3797145396"
Message-ID: <443DEE2F.7010907@apache.org>
Date: Thu, 13 Apr 2006 16:22:39 +1000
From: Brett Porter
User-Agent: Thunderbird 1.5 (Windows/20051201)
MIME-Version: 1.0
To: Continuum Developers
Subject: memory leak investigations
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Virus-Checked: Checked by ClamAV on apache.org
X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N
Hi,
I've done some investigation.
I was able to run the server where it was just checking for non-existant
updates for some time, and it had no net result on memory usage (it
constantly goes up, gc's back to the same level, etc).
When I ran a "build all" on cheddar (with no checkouts), net memory
usage increased 40Mb to build all 130-odd projects (it was at 24mb, now
it idles at 62 - it was around 80 but 20mb went away after GC). Now, it
idles at the same level again (even after enqueuing all again, but not
building).
I took a snapshot at the start and end, and there is 38mb in a single
hashmap with 513 elements. This map is the
componentManagersByComponentHashCode field of
DefaultComponentManagerManager. This would have to be unreleased
components, right?
Some more things high in the allocation count:
- SecureRunData has 2mb that wasn't there before. It is a possible
suspect since it is new in 1.0.3. It occurs more than once.
- ContinuumStateContentGenerator has 2mb. Another possible suspect for
an unreleased component. There are 3 of them in the top 20.
- The second most allocated is a hasmap in the projectBuilder
(processedProjectCache), at 5mb. This may just be acceptable use.
- DefaultViewContext has much as well, but I think that's because it
stores all the state generators
The rest seem to be more instances of the above 4.
I don't have more time to investigate - I'd suggest perhaps logging all
components released when the container shuts down, and just build one
project from scratch to see what components are left in there at the end..
So it seems the actual specs we need:
- 20mb baseline
- 20mb buffer to build
- caches (eg projects)
It should easily fit in 64mb, with 128mb being safe if we are to spec
out requirements.
HTH,
Brett