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
