Give more GC processor time in java?

I have a java application that uses as much CPU as possible, and with it a lot of memory (up to 80 GB).

I am optimizing the GC for this application, and I want to tell the JVM to use the given percentage of time (60%) for the GC, otherwise the amount of time the machine is not in the GC will process and allocate more memory.

I wanted to confirm that a parameter -XX:CMSIncrementalDutyCycle=60is what I am looking for and if there are any other parameters to give more power to the GC (I already saw CMSIncrementalPacingand CMSIncrementalDutyCycleMin)

Thanks a bunch!

+5
source share
3 answers

can't set the ceiling for CPU usage in GC collections.

CMSIncrementalDutyCycle (. [1]), , GC , , . , .

+1

, XX: CMSIncrementalDutyCycle = 60 , , - GC ( CMSIncrementalPacing CMSIncrementalDutyCycleMin)

, . , CPU JVM GC. :

-XX:CMSIncrementalDutyCycle=<N> default: 50

(0-100) , . CMSIncrementalPacing enabled, .

, , CMS (-XX:+UseConcMarkSweepGC), , , , CMS GC.

, GC.

+1

-, CMSIncreamentalDutyCycle CMS- ( -XX:+CMSIncrementalMode). .

-, , GC.

  • -XX:ParallelGCThreads=N Stop-the-World
  • -XX:ConcGCThreads=N ( CMS)

You can find additional options related to the GC here .

+1
source

All Articles