1

I have two app nodes with same GC configurations except for CMSIncrementalMode. Following are the screen shots from GC Viewer for both the apps with and without CMSIncrementalMode.

The app not using CMSIncrementalMode has significantly lower throughput and the precleans were aborted with the message "CMS: abort preclean due to time". Also the objects were not promoted to old gen even when there is lot of empty space in old gen.

I understand that the incremental smaller concurrent steps might have stopped the preclean aborts. But I am trying to understand the following.

  1. Why would an aborted preclean had such huge negative impact on the app? or is it some thing else causing the negative impacts?

  2. How did the CMSIncrementalMode helped the minor GCs on young gen. Isn't the incremental mode just on the old gen collections?

  3. Why is ParNew count different from initial-mark and remark. Without CMSIncrementalMode I see more marks and remarks. With CMSIncrementalMode I see more ParNews.

GC Configs:

Total Heap: 3GB 
New: 1800MB 
UseConcMarkSweepGC 
CMSClassUnloadingEnabled 

GC Viewer stats:
App using CMSIncrementalMode
App not using CMSIncrementalMode

Thanks in advance

study
  • 5,628
  • 4
  • 36
  • 44
pasupv
  • 11
  • 1
  • 2
  • you should list the full JVM parameters for each instance – the8472 Aug 27 '15 at 21:56
  • -Xms3g, -Xmx3g, -XX:NewSize=1800m, -XX:MaxNewSize=1800m, -XX:+UseConcMarkSweepGC, -XX:+CMSClassUnloadingEnabled, -XX:+PrintTenuringDistribution are the settings common to both nodes. -XX:+CMSIncrementalMode is added to one node which increased the through put on that node – pasupv Aug 30 '15 at 23:26
  • In the node that is not using Incremental mode the number of CMS Marks and remarks are very high, slower and the old generation is not even 1/2 full. What would cause this behavior? – pasupv Aug 30 '15 at 23:39

0 Answers0