Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-8932

Update default Garbage Collector GC on cassandra ps: Use G1GC instead of CMS

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Normal
    • Resolution: Duplicate
    • None
    • None
    • None

    Description

      On Cassandra 2.0.8.39/DSE 4.5.1/Java HotSpot(TM) 64-Bit Server VM/1.7.0_67 encountered long running GC before dse was shutdown.
      This was a ring of 6 nodes, and no unexpected load/processes were run.The error log attached.

      Suspect was that it has hit hotspot/java GC issue.But in this case the class unloading is enabled.
      JVM_OPTS="$JVM_OPTS -XX:+CMSClassUnloadingEnabledā€¯
      XX:CMSInitiatingOccupancyFraction=75

      On a general note, what would make things better is to make G1GC as default garbage collector (for cassandra running > java 7 update 9) instead of CMS., as G1GC is far better.For eg: -XX:+UseG1GC -XX:MaxGCPauseMillis=50
      http://www.oracle.com/technetwork/tutorials/tutorials-1876574.html

      Perhaps also can be looked if 1.when CPU utilization kicks or heap size leak/long running GC is sensed, the nodetool -h localhost flush can auto kick in?
      2. force log the query when long running GC kicks in to make debuging easier.

      Attachments

        Issue Links

          Activity

            People

              rekhajoshm Rekha Joshi
              rekhajoshm Rekha Joshi
              Rekha Joshi
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: