For Oracle / OpenJDK 8, the default collector on most machines is a parallel bandwidth collector, with the exception of some 32-bit window machines, where it might be a Serial GC.
Xincgc is a CMS incremental. The advantage that you see is probably due to the transition from the bandwidth collector to the CMS, and not from the incremental mode, which is intended for single-core processors.
Incremental mode is also deprecated , so just enable CMS via -XX:+UseConcMarkSweepGC and see if this works for you.
Of course, you can also try G1GC, which is also designed to achieve low pause time goals and has the advantage that it does not suffer from fragmentation, such as CMS, and therefore is less likely to experience parallel failures that lead to single - The demanded stop of the world collection.
So try both and measure.
See also: Oracle Java 8 GC Configuration Guides
source share