[
https://issues.apache.org/jira/browse/HBASE-14613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15211482#comment-15211482
]
Yanping Wang commented on HBASE-14613:
--------------------------------------
Yes, I worked on Jave runtime and GC performance for many years before I
plugged myself in Mnemonic project.
I can figure out what we can do to turn G1GC by looking at G1GC logs after run
following 5 print flags:
-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintReferenceGC
-XX:+PrintAdaptiveSizePolicy -XX:+PrintFlagsFinal
Basic G1 parameters:
-XX:+UseG1GC –Xms? –Xmx? (don't specify -Xmn)
-XX:MaxGCPauseMillis (default 200ms, for HBase, set to 100)
-XX:ParallelGCThreads=? calculate 8+(#of logical processors-8)(5/8)
-XX:+ParallelRefProcEnabled
normal G1GC turning flags:
-XX:G1HeapWastePercent (default 5, I changed to 10-20 for HBase, 5% is too
hyper)
-XX:InitiatingHeapOccupancyPercent (default 45%, change to 65 based on pined
old object size)
-XX:ConcGCThreads (default ~1/4 of parallel threads, increase to 2/3, so
concurrent marking can finish faster before cause full gc)
-XX:G1MixedGCCountTarget (default 8, some time I reduced it to 6, as I don't
want to have expensive mixed GCs to cause long mixed gc pauses)
-XX:G1NewSizePercent=? -XX:G1MaxNewSizePercent=? ( the default is 5% and 65%,
used 1% and 10% for 100GB+ heap size, so I don't get crazy long young GC pauses
to kill HBase response time)
> Remove MemStoreChunkPool?
> -------------------------
>
> Key: HBASE-14613
> URL: https://issues.apache.org/jira/browse/HBASE-14613
> Project: HBase
> Issue Type: Brainstorming
> Reporter: Lars Hofhansl
> Priority: Minor
> Attachments: 14613-0.98.txt, gc.png, writes.png
>
>
> I just stumbled across MemStoreChunkPool. The idea behind is to reuse chunks
> of allocations rather than letting the GC handle this.
> Now, it's off by default, and it seems to me to be of dubious value. I'd
> recommend just removing it.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)