What would be the effect of setting only -Xms without setting a -Xmx for eg. java -Xms 2048m ? Does setting a high lower value for -Xms mean lesser Heap Fragmentation?
Advertisement
Answer
Setting -Xms to the estimated heap requirement of your application will speed up start of your application (of course Xms must be <= Xmx). Reason is the VM will spend some effort doing Full GC before it grows, so there might be several Full GC’s until the VM figures out the real memory requirement of your app. It doesn’t help with fragmentation (which can occur with CMS only anyway)