Hi Lim,
   First, the bad news:  Assuming the classic JVM, GC normally runs 
concurrently in an asynchronous thread.  That means other work goes on 
during a collection.  In a "stop the world" collection, nothing else happens 
until the collection is done.  That means the app/web server appears 
unresponsive during the collection cycle.  If you had to find out via a 
verbose log, either no one uses the applications(s) - unlikely, given the 
typical causes - or they are just accustomed to poor performance.
   It's easy to give the general causes, but can be a real bear to figure 
out specifics.
-  A burst of massive memory requests
-  One or more memory leaks that overwhelm available memory over time
-  Available CPU can't complete gc or can't complete in a timely manner. 
This last could actually be some combination of CPU and page swapping, where 
the JVM is effectively thrashing. .
   As you can probably see, the causes can vary from scability isues to 
program problems to application architecture.  More bad news is that while 
monitoring can help, unless it's a build up over time ( leak ), you probably 
won't be able to get a dump or snapshot when you need it most.
                                                        Joe Sam
Joe Sam Shirah -        
http://www.conceptgo.com
conceptGO       -        Consulting/Development/Outsourcing
Java Filter Forum:       
http://www.ibm.com/developerworks/java/
Just the JDBC FAQs: 
http://www.jguru.com/faq/JDBC
Going International?    
http://www.jguru.com/faq/I18N
Que Java400?            
http://www.jguru.com/faq/Java400
----- Original Message ----- 
From: "Lim Hock-Chai" <Lim.Hock-Chai@xxxxxxxxxxxxxxx>
To: "Java Programming on and around the iSeries / AS400" 
<java400-l@xxxxxxxxxxxx>
Sent: Tuesday, March 03, 2009 4:07 PM
Subject: starting collection, reason stop the world collection
We turned on the *VERBOSEGC option on our web server and we see the
following message in the log :"starting collection, reason  stop the
world collection".  Does anybody know why the GC is stopping the world
when doing garbage collection?  Is there a way to prevent this?  Is this
control by the application or is this a standard JVM runtime function?
thanks
--
 
As an Amazon Associate we earn from qualifying purchases.