The large drop in old generation from 27GB->6GB indicates that things
are getting into your old generation prematurely. They really don't need
to get there at all, and should be collected sooner (more frequently).

Look into increasing young generation sizes via JVM parameters. Also
look into concurrent collection.

You could even consider decreasing your JVM max memory. Obviously you
aren't using it all, decreasing it will force the JVM to do more
frequent (and therefore smaller) collections. You're average collection
time may go up, but you will get smaller performance decreases.

Great details on memory tuning on Sun JDKs here 

http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html

There are other articles for 1.6 and 1.4 as well.

-Todd

-----Original Message-----
From: wojtekpia [mailto:wojte...@hotmail.com] 
Sent: Wednesday, January 21, 2009 9:49 AM
To: solr-user@lucene.apache.org
Subject: Performance "dead-zone" due to garbage collection


I'm intermittently experiencing severe performance drops due to Java
garbage
collection. I'm allocating a lot of RAM to my Java process (27GB of the
32GB
physically available). Under heavy load, the performance drops
approximately
every 10 minutes, and the drop lasts for 30-40 seconds. This coincides
with
the size of the old generation heap dropping from ~27GB to ~6GB. 

Is there a way to reduce the impact of garbage collection? A couple
ideas
we've come up with (but haven't tried yet) are: increasing the minimum
heap
size, more frequent (but hopefully less costly) garbage collection.

Thanks,

Wojtek

-- 
View this message in context:
http://www.nabble.com/Performance-%22dead-zone%22-due-to-garbage-collect
ion-tp21588427p21588427.html
Sent from the Solr - User mailing list archive at Nabble.com.


Reply via email to