HBase regionserver非GC暂停

近期做性能测试的过程中,遇到过几次未发生GC的情况下,JVM暂停,导致各种超时,regionserver宕机的情况。
 
查看相关日志输出有如下信息:

-XX:+PrintGCApplicationStoppedTime: 
2017-07-14T09:26:24.366+0800: 46880.600: Total time for which application threads were stopped: 38.4232622 seconds, Stopping threads took: 38.4216145 seconds
 
 
-XX:+PrintSafepointStatistics -XX:PrintSafepointStatisticsCount=1:
 
         vmop                    [threads: total initially_running wait_to_block]    [time: spin block sync cleanup vmop] page_trap_count
46842.176: RevokeBias                       [     219          0              4    ]      [     0     0 38421     1     0    ]  0
 
可以看到sync的时间并不等于spin+block,那么多出来的时间在做什么呢?
 
是否和jvm的偏向锁有关,或者可以考虑关闭这个。在HBASE-17747中看到,小米应该在cms gc中使用了-XX:-UseBiasedLocking
已邀请:

libis - HBase爱好者

赞同来自:

以前碰到过一个朋友发生过这样的暂停,后来关了偏向锁,目测就没有发生过了。我也一直很好奇sync为什么不等于spin+block,私信了R大,也没有回我。。。

qgxiaozhan

赞同来自:

难道是线程的竞争大,导致线程一直切换,能看到当时活跃的线程数吗?

要回复问题请先登录注册