Quantcast
Channel: VMware Communities : All Content - vFabric GemFire [ARCHIVED]
Viewing all articles
Browse latest Browse all 990

Optimal JVM flags for a large Gemfire cache (Xms/Xmx=24g)

$
0
0

Hi All

 

We have a large 24g Gemfire cache (v.6.5.1) thats running on JDK (64 bit 1.6.0_37).

 

The cache itself contains only 1 region with disk persistence enabled. The entry is String=List<Object> with a total of ~400k entries. The value List<Object> contains a mixture of String,Long and Doubles and is of size 275.

 

This cache region receives around a million operations a day (puts/updates/deletes) inlcuding the occassional OQL (for e.g. select k.get(0) from /DATA k where k.get(10) ='dataSetId' and k.get(9) != someLong)

 

What we have noticed is that there are occasionally very long (2-10 sec) ParNew GC pauses. We have profiled the cache but dont see any memory leaks.

 

The best combination of JVM flags that works for us so far are: (these were set after many rounds of testing/profiling)

 

-Xms24g -Xmx24g -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSScavengeBeforeRemark -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:CMSIncrementalSafetyFactor=75 -XX:CMSWaitDuration=300000 -XX:NewRatio=8 -XX:SurvivorRatio=8 -Xss384k -XX:+UseNUMA -XX:+UseStringCache -XX:+UseCompressedStrings -XX:+OptimizeStringConcat -XX:+UseCompressedOops -XX:+UseTLAB

 

I understand this is a pretty broad question, but does anyone in the community have any suggestions on how we can improve GC pause times/cache performance.

 

Thanks


Viewing all articles
Browse latest Browse all 990

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>