You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Darrel Schneider (JIRA)" <ji...@apache.org> on 2016/10/25 21:44:58 UTC

[jira] [Created] (GEODE-2035) document how to use G1GC with geode

Darrel Schneider created GEODE-2035:
---------------------------------------

             Summary: document how to use G1GC with geode
                 Key: GEODE-2035
                 URL: https://issues.apache.org/jira/browse/GEODE-2035
             Project: Geode
          Issue Type: Task
          Components: docs
            Reporter: Darrel Schneider


The geode docs should describe how to configure G1GC for geode.
One issue is that if you use "gfsh start server --max-heap=SIZE" then it will automatically configure CMS which does not work with G1GC.
So instead of using the --max-heap we should tell them to use "--J-XmxSIZE".
To configure G1GC use "--J-XX:+UseG1GC".
If you find the geode resource manager does not detect crossing the eviction or critical threshold quickly enough then try using this option to make it more responsive: "--J-XX:MaxGCPauseMillis=VALUE" where VALUE should be a number less than 200 (which is the current G1GC default). We have done some limited testing with this value set to 1 and it does make the resource manager more responsive when combined with G1GC but it also increases the amount of time spent in gc.
We also noticed that if the primary heap objects you allocate are large then G1GC can cause the JVM to report out of heap memory when it has only used 50 percent of the heap. We saw this with tests in which all the geode region values were larger than 50 percent of the G1 region size. Oracle calls these "humongous" objects. The default G1 region size is 1m. You can increase it up to 32m (it is always a power of 2) by using this: "--J-XX:G1HeapRegionSize=32m". If you are using large values and want to use G1GC without increasing its RegionSize (or if you large values are bigger than 16m) then you could make your geode regions that will contain the large values off-heap. But even if you do that the large off-heap values will allocate temporary large heap values that G1GC will treat as humongous allocations even though they will be short lived. So consider using CMS if most of you values will result in humongous allocations.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)