HBase最佳实践-CMS GC调优(从gc本身参数调优)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HBase最佳实践-CMS GC调优(从gc本身参数调优)相关的知识,希望对你有一定的参考价值。
同志们,此部分,重要的不能再重要了1、HBase发展到当下,对其进行的各种优化从未停止,而GC优化更是其中的重中之重。
hbase gc调优方向
从0.94版本提出MemStoreLAB策略、Memstore Chuck Pool策略对写缓存Memstore进行优化开始,到0.96版本提出BucketCache以及堆外内存方案对读缓存BlockCache进行优化,再到后续2.0版本宣称会引入更多堆外内存,可见HBase会将堆外内存的使用作为优化GC的一个战略方向。
然而无论引入多少堆外内存,都无法避免读写全路径使用JVM内存,就拿BucketCache中offheap模式来讲,即使HBase数据块是缓存在堆外内存的,但是在读取的时候还是会首先将堆外内存中的block加载到JVM内存中,再返回给用户。
这句话的理解在:http://hbasefly.com/2016/04/26/hbase-blockcache-2/
//提到了
BucketCache工作模式 //
比如,内存分配时heap模式需要首先从操作系统分配内存再拷贝到JVM heap,相比offheap直接从操作系统分配内存更耗时;但是反过来,读取缓存时heap模式可以从JVM heap中直接读取,而offheap模式则需要首先从操作系统拷贝到JVM heap再读取,显得后者更费时。
可见,无论使用多少堆外内存,对JVM内存的使用终究是绕不过去,既然绕不过去,就还是需要落脚于GC本身,对GC本身进行优化。
参考链接:
http://hbasefly.com/2016/08/09/hbase-cms-gc/
以上是关于HBase最佳实践-CMS GC调优(从gc本身参数调优)的主要内容,如果未能解决你的问题,请参考以下文章