-Xgc:parallel Starts the parallel garbage collector. -XXminblocksize:16k This flag sets the minimal block size allowed on the freelist. For performance reasons we don't want to have all free areas of the heap on the freelist, just those that are big enough (bigger than or equal to minblocksize). Default: 2 kb. -XXcompactratio: This flag governs how much of the heap (in percent) should be compacted during each old(complete) collection. -Xcleartype: -Xcleartype defines when the memory space occupied by an object that has been garbage collected will be cleared. It can be done during the garbage collection (gc), when a thread-local area is allocated (local) or when that space is allocated for a new object (alloc). You should use local or alloc. alloc might work better if the objects allocated are very large (1 to 2 kilobytes). -XXaggressive:[memory,opt] opt: This option tells the JVM to perform adaptive optimizations as early as possible in the run. To do this, the bottleneck detector will run with a higher frequency from the start and then gradually lower its frequency. memory: This option will tell the JVM to use the available memory aggressively. It will use large pages where available, increase the heap compaction level for each GC, set the minimum block size to a larger value than normal and use a parallel garbage collector. This option should be used carefully. Since the system memory is under more pressure it may not be possible to run other applications simultaneously on the same computer.