> From: CrystalCracker [mailto:sudarshan.acha...@gmail.com] > Subject: Re: Understanding GC Logs > > I have a caching layer which is configured to evict objects from memory > after 3 minutes of idle time. I have profiled and see all those objects > in cache get evicted after some idle time.
The time spent in the full GC is largely consumed by compacting the old gen (tenured) space, along with copying long-lived objects from the young generation to the old. If what you're caching is large arrays, you might want to consider breaking them up into smaller chunks of the same size, and pooling those. You might also think about tracking your cache entries via SoftReference objects, thus letting GC throw them away when space gets tight. > Is the pause times really too long compared to the throughput (99.6)? A 2+ second pause is certainly not good these days. Consider enabling the concurrent GC algorithm; you might even try the new G1 collector available in the 6u14 JRE. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org