Alladdin
Alladdin

Reputation: 1

DSE Garbage Collection on non-heap CMS Perm Gen took a long time

I experience prolonged GC pause (> 10 seconds) in Datastax-enterprise's Cassandra/Solr package. After monitoring for days I found it only happens when GC of CMS Perm Gen happens as shown in the chart. And the long GC happens at EVERY flection point of the chart, when PermGen GC happens. And every time when Perm Gen GC kicks in, there's a long pause that cause client sessions timeout!

https://www.dropbox.com/s/qgdcurprvc1sees/permgen_gc.png

Heap GC is normal and has no pauses, only and always get the long pause in the Non-heap Perm Gen GC, which always happens when the server is at non-peak hours.

![enter image description here][1]

JVM options used by DSE:

-ea -javaagent:/usr/local/dse/resources/cassandra/lib/jamm-0.2.5.jar 
-XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42
-Xms16384M -Xmx16384M -Xmn5461M -XX:+HeapDumpOnOutOfMemoryError 
-Xss180k -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled 
-XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=1
-XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly 
-Djava.net.preferIPv4Stack=true -Dcassandra.load_ring_state=false 
-Dcassandra-foreground=yes -Dsearch-service=true
-Dtomcat.logs=/var/log/dse/tomcat -DName=SI2_DSE
-Ddse.solr.data.dir=/data/solrIndexRamDisk
-Djava.library.path=/usr/local/dse/resources/hadoop/native/Linux-amd64-64/lib

JVM Info

Heap Info

VM Server Info

Upvotes: 0

Views: 580

Answers (2)

dataguy
dataguy

Reputation: 31

If you can use straight Solr, you could try Heliosearch, which tries to tackle the problem of GC pauses with off-heap data.

http://heliosearch.org/off-heap-filters/

Upvotes: 1

Deven
Deven

Reputation: 446

Use -XX:+CMSClassUnloadingEnabled, it allows the CMS collector to sweep the permgen during oldgen GC and unload classes that are no longer in use. Link : http://blog.redfin.com/devblog/2012/06/cmsclassunloadingenabled-at-redfin.html#.UwWeO4XqPK0

Use 100 or 200 MB size for perm generation instead of 60 MB.

try it out and share if it solves your problem

Upvotes: 0

Related Questions