开发者社区> 问答> 正文

Direct Memory Usage in HBase的作用是什么啊?

Direct Memory Usage in HBase的作用是什么啊?

展开
收起
游客mm5dulkpivqdo 2021-12-13 00:03:21 712 0
1 条回答
写回答
取消 提交回答
  • 默认最大可以使用的direct memory因JVM的不同而不同。传统下是64M,或者通过直接分配堆内存(-Xmx),或完全没有限制(如JDK7)。HBase服务器使用direct memory,特别是short-circuit reading(读数据不经过DataNode,客户端直接读文件),RegionServer上的DFSclient会分配direct memory buffers。DFSClient会使用的内存大小并不容易量化;它是由:打开的HFile文件数量 × hbase.dfs.client.read.shortcircuit.buffer.size 决定。hbase.dfs.client.read.shortcircuit.buffer.size在HBase中设置为128k(参考hbae-default.xml默认配置)。如果需要使用off-heap block caching,则需要使用到直接内存(direct memory)。在RPC Server中,也会使用一个ByteBuffer池,从hbase 2.0.0开始,这些缓冲区为off-heap ByteBuffers。

    2021-12-13 00:03:48
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ALLUXIO (FORMERLY TACHYON): UNIFY DATA AT MEMORY SPEED - EFFECTIVE USING SPARK WITH ALLUXIO 立即下载
HBase On Persistent Memory 立即下载
WALLess HBase with persistent memory devices 立即下载