IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

一百七十二、HBase性能调整:Java GC

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

Java

GC和Apache HBase

垃圾回收(GC)机制长时间暂停

在Todd Lipcon的演示中,使用MemStore-Local Allocation Buffers避免使用完整的GC(http://www.slideshare.net/cloudera/hbase-hug-presentation),描述了HBase中常见的两种停止垃圾收集的情况,特别是在加载过程中;CMS故障模式和和老一代堆碎片带来的。

要解决第一个问题,请通过添加-XX:CMSInitiatingOccupancyFraction默认值并将其设置为默认值来启动早于默认值的CMS 。从60%或70%开始(降低阈值,完成的GCing越多,使用的CPU越多)。

为了解决第二个碎片问题,Todd补充实验设施(MSLAB,全称是 MemStore-Local Allocation Buffer),必须在Apache HBase 0.90.x明确启用(它默认是在Apache HBase 0.92.x的)。在你的Configuration中设置hbase.hregion.memstore.mslab.enabled为true。最新的JVM更好地考虑碎片,因此请确保您运行的是最新版本。在消息中读出,识别由碎片引起的并发模式故障。请注意,启用后,每个MemStore实例将至少占用一个MSLAB内存实例。如果您有数千个区域或许多区域,每个区域都有许多列族,那么MSLAB的这种分配可能会负责堆分配的很大一部分,并且在极端情况下会导致OOME。在这种情况下禁用MSLAB,或者降低它使用的内存量,或者减少每个服务器的区域。

如果您的工作负载很大,请查看HBASE-8163 MemStoreChunkPool:使用MSLAB时对JAVA GC的改进(https://issues.apache.org/jira/browse/HBASE-8163)。它描述了在写入负载期间降低Young代GC数量的配置。

如果你没有安装HBASE-8163,和你想提高你的Young代GC时间,那么需要考虑的一个技巧是在hbase-env.sh中设置GC配置-XX:PretenureSizeThreshold,让它的大小比hbase.hregion.memstore.mslab.chunksize的大小要小一些,所以MSLAB分配直接发生在tenured空间而不是Young代。你这样做是因为这些MSLAB分配无论如何都可能使它成为Old代,而不是在eden空间中承受来自s0和s1之间的复制的代价,然后在MSLAB取得了足够的tenure后,从Young代复制到Old代,这节省了一点YGC流失并直接分配到Old代。

还要考虑启用堆外块缓存。这已被证明可以缓解GC暂停时间。

文章永久链接:https://tech.souyunku.com/?p=12366

干货推荐


Warning: A non-numeric value encountered in /data/wangzhan/tech.souyunku.com.wp/wp-content/themes/dux/functions-theme.php on line 1154
赞(65) 打赏



未经允许不得转载:搜云库技术团队 » 一百七十二、HBase性能调整:Java GC

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码
IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

评论 抢沙发

大前端WP主题 更专业 更方便

联系我们联系我们

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

微信扫一扫打赏


Fatal error: Uncaught Exception: Cache directory not writable. Comet Cache needs this directory please: `/data/wangzhan/tech.souyunku.com.wp/wp-content/cache/comet-cache/cache/https/tech-souyunku-com/index.q`. Set permissions to `755` or higher; `777` might be needed in some cases. in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php:367 Stack trace: #0 [internal function]: WebSharks\CometCache\Classes\AdvancedCache->outputBufferCallbackHandler() #1 /data/wangzhan/tech.souyunku.com.wp/wp-includes/functions.php(5109): ob_end_flush() #2 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(303): wp_ob_end_flush_all() #3 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters() #4 /data/wangzhan/tech.souyunku.com.wp/wp-includes/plugin.php(470): WP_Hook->do_action() #5 /data/wangzhan/tech.souyunku.com.wp/wp-includes/load.php(1097): do_action() #6 [internal function]: shutdown_action_hook() #7 {main} thrown in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php on line 367