[ 
https://issues.apache.org/jira/browse/HBASE-14613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15211455#comment-15211455
 ] 

Yanping Wang commented on HBASE-14613:
--------------------------------------

Jingcheng, pointed this JIRA to me. I am kind of curious, have you guys tried 
to tune G1GC for that "significant amount of memory basically pinned in old gen 
forever" case?
For example: by default in JDK8, the -XX:InitiatingHeapOccupancyPercent is 45% 
that means G1 is trying to keep the "balance" around 45% heap full when starts 
concurrent marking cycle for Mixed GC.
if the "significant amount of memory pinned in old gen forever" caused heap 
Occupancy Percent more than 45% of total heap, then G1 will sure start 
concurrent marking cycle one after another, which I know it is mostly not that 
necessary and hurt throughput. in that case, I tried to increase 
-XX:InitiatingHeapOccupancyPercent=65 depends on how much (significant amount 
of memory pinned in old gen forever) vs. total heap ratio. we can calculate 
that actually based on test cases.

also notice since we increased the "balance" point up, we have to increase the 
speed of concurrent marking cycle so it can finish faster to let Mixed GC to 
start clean up the rest of heap without causing full GC. to do that, I also 
increase -XX:ConcGCThreads to be 2/3 of parallelGC threads (default is 1/4).

I ran HBase with 100GB and 120GB heap before with G1GC, it worked fine. 
The good news is: jdk9 will have automatic InitiatingHeapOccupancyPercent 
adjustment based on its runtime heap profiling data, so it can detect the live 
forever objects size and InitiatingHeapOccupancyPercent on fly.


> 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)

Reply via email to