GC Parameters for low-latency

Ralf Helbing rhelbing at icubic.de
Wed Nov 16 07:02:35 PST 2011


dear mailing list,

we try to achieve low latencies despite using a huge heap (10G) and many 
logical cores (64).
VM is 1.7u1. Ideally, we would let GC ergonomics decide what is best, 
giving only a low pause time goal (50ms).

-Xss2m
-Xmx10000M
-XX:PermSize=256m
-XX:+UseAdaptiveGCBoundary
-XX:+UseAdaptiveSizePolicy
-XX:+UseConcMarkSweepGC
-XX:MaxGCPauseMillis=100
-XX:ParallelGCThreads=12

-XX:+BindGCTaskThreadsToCPUs
-XX:+UseGCTaskAffinity

-XX:+UseCompressedOops
-XX:+DoEscapeAnalysis

Whenever we use adaptive sizes, the VM will crash in GenCollect*, as 
soon as some serious allocations start. I already filed a bug for this 
(7112413).

Assuming a small newsize helps maintaining a low pause time goal, I can 
set the newsize, too. Say I set it to 100MB, it will increase later 
anyway, again yielding frequent pause times in over 1s by the time the 
newsize is around 1G.

What am I doing wrong here?


More information about the hotspot-gc-use mailing list