I switched to CMS collector for my application and throughput of application decreased by half. From GC logs, I see a high frequency of minor GCs happening (aroung 10 per second
). I have allocated a heap size of 4G
. The JVM be default is using very small size for young gen (less than 40MB
). I want to try out CMS via increasing the size of young gen. Can you point me to right JVM parameter for this.
- I tried -XX:NewRatio but JVM ignored this parameter and there was no change in young gen sizes
- My java version is
java version "1.6.0_14"
It works for me:
The defaults (Java 7 64bit on Windows):
Now specifying the ratio parameters (roughly same result):
And then a totally different new/old and eden/survivor ratio:
Same works for Java 6 or client VM (just with different defaults).
How did you set
-XX:NewRatio
, and on which JVM version?Anyway. It could be ignored if you are also setting
-XX:MaxNewSize=size
, which is a feature, or if you are also setting-XX:+UseConcMarkSweepGC
which is a known bug.