Hi there Sudhir,

The Java JVM controls when GC is run. This is generally triggered when your
JVM is using more than a certain percentage of the max JVM size. The
default setting is generally 50% of in your current max JVM memory. (unless
you override your JVM settings).

Also, gc is dependent on the size of your JVM, if your JVM is size to be
32Gb and you are only using 7Gb of the the 32, gc would not kick in.
We recommend you look at the following JVM settings to improve and help
with managing your gc collection cycles.
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=60
-XX:+CMSParallelRemarkEnabled
-XX:+UseCMSInitiatingOccupancyOnly
-XX:+ScavengeBeforeFullGC
-XX:+CMSScavengeBeforeRemark

 -XX:ParGCCardsPerStrideChunk=32768
 For example: It reduced the cost (duration) of minor GC by more than 60%
in tests with 32G and 96G heaps:

To get better gc logging you could add the following:
-XX:+PrintGC
-XX:+PrintGCDetails
-Xloggc:gc.log

Hope this helps.

--Udo

On Wed, Jan 17, 2018 at 9:16 AM, Sudhir Babu Pothineni <
[email protected]> wrote:

> I left the Geode servers running for 8 days, Heap Usage showing ~ 6GB,
> when I ran ‘gc’ command of gfsh, Heap Usage now showing ~ 600MB.
>
> Any recommendation/parameter which runs this automatically?
>
> Thanks
> Sudhir

Reply via email to