17.6.2016, 11.05, Bernd Fehling kirjoitti:
Am 17.06.2016 um 09:06 schrieb Ere Maijala:
16.6.2016, 1.41, Shawn Heisey kirjoitti:
If you want to continue avoiding G1, you should definitely be using
CMS. My recommendation right now would be to try the G1 settings on my
wiki page under the heading "Current experiments" or the CMS settings
just below that.
For what it's worth, we're currently running Shawn's G1 settings slightly
modified for our workload on Java 1.8.0_91 25.91-b14:
GC_TUNE=" \
-XX:+UseG1GC \
-XX:+ParallelRefProcEnabled \
-XX:G1HeapRegionSize=16m \
-XX:MaxGCPauseMillis=200 \
-XX:+UnlockExperimentalVMOptions \
-XX:G1NewSizePercent=3 \
-XX:ParallelGCThreads=12 \
-XX:+UseLargePages \
-XX:+AggressiveOpts \
"
-XX:G1NewSizePercent
<Garbage First Garbage Collector Tuning (oracle.com)>
... Sets the percentage of the heap to use as the minimum for the young
generation size.
The default value is 5 percent of your Java heap. ...
So you are reducing the young heap generation size to get a smoother running
system.
This is strange, like reducing the bottle below the bottleneck.
True, but it works. Perhaps that's due to the default being too much
with our heap size (> 10 GB). In any case, these settings allow us to
run with average pause of <150ms and max pause of <2s whiel we
previously struggled with pauses exceeding 20s at worst. All this was
inspired by
https://software.intel.com/en-us/blogs/2014/06/18/part-1-tuning-java-garbage-collection-for-hbase.
Regards,
Ere