portals-jetspeed-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Weaver, Scott" <weav...@ugs.com>
Subject RE: high memory consumption, possible fix
Date Wed, 07 Nov 2007 20:46:16 GMT
I don't the captures anymore but I do remember PortletWindowAccessor taking up over 20% of
the heap.  I posted a link to screenshot in one of the comments that shows what it looked
like prior to the changes.

-scott


> -----Original Message-----
> From: Vitaly Baranovsky [mailto:vitaly.baranovsky.2@gmail.com]
> Sent: Wednesday, November 07, 2007 3:41 PM
> To: Jetspeed Developers List
> Subject: Re: high memory consumption, possible fix
> 
> Great, Scott!
> 
> Weaver, do you have information about memory usage before changes to
> the PortletWindowAccessor?
> 
> 2007/11/7, Weaver, Scott <weavers@ugs.com>:
> > The results are looking very positive with just the change to the
> PortletWindowAccessor.
> >
> > Load Configuration: Using 20 individual users (actual different user
> names) and 40 threads (simultaneous users) ending up with a total of
> 60,000 requests over a period of about 10 minutes.
> >
> > JMeter Summary:
> >   - Thread Group: 40 Threads, 0 ramp up, Loop count 3000
> >      - Loop Control: Loop Count 20
> >        - CSV Data Config: 20 individual users
> >
> > Max memory usage during the test: 480MB
> > Memory usage after GC: 306MB
> >
> > The baseline RAM usage after GC always seems to be between 275MB and
> 315MB.
> >
> > I will try to get a screenshot of the top objects posted to the Jira
> issue soon.
> >
> > -scott
> >
> >
> > > -----Original Message-----
> > > From: Weaver, Scott [mailto:weavers@ugs.com]
> > > Sent: Wednesday, November 07, 2007 9:25 AM
> > > To: Jetspeed Developers List
> > > Subject: RE: high memory consumption, possible fix
> > >
> > > Hi Joachim,
> > >
> > > You may also be interested in JS2-800 and JS-801 both of which deal
> with
> > > memory leaks.  Do you happen to have any profiling statistics of the
> JVM
> > > around the time it goes OOM?  What type of load are you testing with?
> > >
> > > I already have fixed JS2-800 (still need to commit) and I am going to
> try
> > > to work on JS2-801 here soon.
> > >
> > > -scott
> > >
> > > > -----Original Message-----
> > > > From: Joachim Müller [mailto:joachim@wemove.com]
> > > > Sent: Tuesday, November 06, 2007 3:59 PM
> > > > To: jetspeed-dev@portals.apache.org
> > > > Subject: high memory consumption, possible fix
> > > >
> > > > Hi all,
> > > >
> > > > we are experiencing very high memory consumption on a system based
> on
> > > > Jetspeed 2.1 under very high load. (OutOfMemory within a couple of
> > > > minutes)
> > > >
> > > > There are 2 fix that are proposed to us. First addresses the
> decoupling
> > > > of the PortletContent from all ContentFragments of a page in
> > > > CleanupValveImpl:
> > > >
> > > > ((ContentFragment)fragment).setPortletContent(null);
> > > >
> > > >
> > > > The second fix addresses the release of all attributes from velocity
> > > > context incl. removing cycling references in the
> > > > JetspeedVelocityViewServlet (service method):
> > > >
> > > > ...
> > > > Context ctx = (Context)
> > > renderRequest.getAttribute(VELOCITY_CONTEXT_ATTR);
> > > >
> > > > renderRequest.removeAttribute(VELOCITY_CONTEXT_ATTR);
> > > >
> > >
> renderRequest.removeAttribute(PortalReservedParameters.JETSPEED_POWER_TOOL
> > > > _REQ_ATTRIBUTE);
> > > >
> > > > JetspeedVelocityPowerTool jpt = (JetspeedVelocityPowerTool)
> > > > ctx.get(JETSPEED_TOOL_VAR_NAME);
> > > >
> > > > if (jpt!=null){
> > > >     jpt.setVelocityContext(null);
> > > >     ctx.remove(JETSPEED_TOOL_VAR_NAME);
> > > > }
> > > >
> > > > Object[] keys = ctx.getKeys();
> > > > //Delete all attributes
> > > > for (int i = 0; i < keys.length; i++) {
> > > >     ctx.remove(keys[i]);
> > > > }
> > > > ...
> > > >
> > > > (already adapted to 2.1.2)
> > > >
> > > >
> > > > Since this is kind of rough I would like to discuss this with the
> > > > developer list.
> > > >
> > > > I also know, that Scott was working on replacing the standard
> hashmap
> > > > caching in org.apache.jetspeed.profiler.impl.JetspeedProfilerImpl
> and
> > > > org.apache.jetspeed.container.window.impl.PortletWindowAccessorImpl.
> > > > Scott, can you already share some of your results?
> > > >
> > > > Best regards,
> > > > Joachim
> > > >
> > > > --------------------------------------------------------------------
> -
> > > > To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
> > > > For additional commands, e-mail: jetspeed-dev-
> help@portals.apache.org
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
> > > For additional commands, e-mail: jetspeed-dev-help@portals.apache.org
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
> > For additional commands, e-mail: jetspeed-dev-help@portals.apache.org
> >
> >
> 
> 
> --
> With best regards,
> Vitaly Baranovsky
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
> For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


Mime
View raw message