aspose file tools*
The moose likes Java in General and the fly likes CMS collector tuning Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "CMS collector tuning" Watch "CMS collector tuning" New topic
Author

CMS collector tuning

Valery Lezhebokov
Ranch Hand

Joined: Jun 12, 2006
Posts: 39
Hi all,

I have a server which monitors a great number of devices. Each value received from the devices is stored in memory for about 5 sec. At the max load on the server I've got about 400 Mb of data to keep in the memory. What I'd like to achieve is storing as less object in Old Generation as possible, since I observe 'concurrent mode failures' of CMS ~ 2 per day, which cause long pauses in the application execution.

I thought that if I increase the size on Young Generation then the objects will stay longer in Yong Generation and will be GC-ted before getting to the Old Generation. But it seems not to be the case - the JVM doesn't even commit the Max Size for Young Generation and I haven't seen any changes in the Age Thresholds chosen by JVM.

What could the typical GC settings be for such an application?

For the moment we configure it like this:
-Xms1024m -Xmx2048m
-server
-XX:NewRatio=12
-XX:SurvivorRatio=2
-XX:-DisableExplicitGC
-XX:CompileThreshold=50
-XX:CMSInitiatingOccupancyFraction=50
-XX:+UseParNewGC
-XX:ParallelGCThreads=13
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:CMSIncrementalDutyCycleMin=0
-XX:CMSIncrementalDutyCycle=10
-XX:+CMSParallelRemarkEnabled
-XX:ParallelCMSThreads=4
-XX:+CMSClassUnloadingEnabled
-XX:CMSFullGCsBeforeCompaction=1



We've got 16 CPU Blade, 8 Gb RAM.


Thank you very much in advance for any kind of help!



[Thumbnail for 4.JPG]



SCJP 1.5, OCE EJB 3.x
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: CMS collector tuning