geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Foster <>
Subject Re: Geronimo v2.1 Plan Creator => Deploy Liferay 4.1.1
Date Fri, 07 Mar 2008 17:12:03 GMT

Kevan Miller wrote:
> On Mar 6, 2008, at 10:37 AM, Jim Foster wrote:
>> Hi Peter,
>> Thank you for this info!
>> I took your suggestion and brought myself up to speed on PermGen,  
>> and a good
>> bit of all things related to Java.lang.OutOfMemoryError.
>> All I can say is that there's certainly a lot more to fine-tuning the
>> classloading going on behind the scenes than one would first imagine.
>> This brings up another question: How do you folks manage this?
>> What tools would you recommend that I add to my toolbox so that I  
>> can really
>> understand what's really going on beneath the covers?
>> As I mentioned in my earlier post, this project I am involved with  
>> will be
>> weaving together several applications to be deployed on top of  
>> Geronimo, so
>> sooner or later, fine-tuning performance issues will become a reality.
>> I'd like to get a handle on such things as early in the development  
>> cycle as
>> possible.
> Hi Jim,
> There are a lot of knobs and switches. However, you can cause as much  
> harm as good trying to fine tune their settings. My advice to you is  
> to keep things as simple as possible until you know you have a problem.

Hi Kevan,

Simple is good. 

I will certainly take your advice. I just know from experience that it best
to put a lasso around potential system-related problems like this early in
the game...if not they may assume an exponential flight path. 

Kevan Miller wrote:
> The JVM can print GC statistics to STDOUT. Often I find this  
> sufficient for getting a broad overview of what's going on. You can  
> also configure the JVM to create a heapdump on OOME conditions. If you  
> have a memory leak, you can then analyze the heapdump using a variety  
> of tools (I like YourKit). There are a number of tools which can also  
> perform further analysis on runtime data (memory allocations, method  
> execution, etc).
> Something like the following should work  (set max heap and max perm  
> to suit your environment):
> -Xmx512m -XX:MaxPermSize=128m -verbose:gc -XX:+PrintGCDetails -XX: 
> +HeapDumpOnOutOfMemoryError
> --kevan

This is good to know. 

It's probably too early for me to be thinking of dropping $500 for a
profiler like YourKit, but just leveraging the command line options as you
suggest should help in keeping things from getting out of control.

I appreciate your sharing this.  Thanks!

View this message in context:
Sent from the Apache Geronimo - Users mailing list archive at

View raw message