阅读&写请求在所有hbase区域中均匀分布。但有时Hbase服务器上的CPU负载大约为100%,并开始减慢该特定服务器上的读取速度。我已经为hbase-region服务器分配了16GB的RAM。
我怀疑是GC问题。这是来自繁忙服务器[1]和普通服务器[2]的统计数据。
谢谢!
[1]
sudo /usr/java/jdk1.6.0_26/bin/jstat -gc 21437 1000
S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT
38336.0 38336.0 3304.2 0.0 306688.0 97526.1 16393856.0 789479.9 58928.0 35296.4 672020 9114.688 1979 434.125 9548.812
38336.0 38336.0 2227.9 0.0 306688.0 130293.0 16393856.0 793799.9 58928.0 35296.4 672039 9114.927 1979 434.125 9549.052
38336.0 38336.0 1836.9 0.0 306688.0 0.0 16393856.0 794504.9 58928.0 35296.4 672057 9115.146 1979 434.125 9549.270
38336.0 38336.0 1590.8 0.0 306688.0 0.0 16393856.0 797729.2 58928.0 35296.4 672075 9115.364 1979 434.125 9549.489
38336.0 38336.0 0.0 296.8 306688.0 140907.6 16393856.0 798642.8 58928.0 35296.4 672093 9115.568 1979 434.125 9549.692
38336.0 38336.0 0.0 5712.4 306688.0 0.0 16393856.0 800782.2 58928.0 35296.4 672110 9115.792 1980 434.131 9549.923
38336.0 38336.0 605.0 0.0 306688.0 182884.3 16393856.0 792293.6 58928.0 35296.4 672121 9115.944 1980 434.131 9550.075
[2]
sudo /usr/java/jdk1.6.0_26/bin/jstat -gc 8443 1000
S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT
38336.0 38336.0 0.0 38336.0 306688.0 55759.8 15999468.0 2109946.3 58800.0 35257.8 114639 1349.231 505 37.439 1386.670
38336.0 38336.0 0.0 38336.0 306688.0 106544.3 15999468.0 2109946.3 58800.0 35257.8 114639 1349.231 505 37.439 1386.670
38336.0 38336.0 0.0 38336.0 306688.0 159285.2 15999468.0 2109946.3 58800.0 35257.8 114639 1349.231 505 37.439 1386.670
38336.0 38336.0 0.0 38336.0 306688.0 214269.6 15999468.0 2109946.3 58800.0 35257.8 114639 1349.231 505 37.439 1386.670
38336.0 38336.0 0.0 38336.0 306688.0 277799.3 15999468.0 2109946.3 58800.0 35257.8 114639 1349.231 505 37.439 1386.670
38336.0 38336.0 38336.0 0.0 306688.0 19230.8 15999468.0 2120279.1 58800.0 35257.8 114640 1349.273 505 37.439 1386.712
答案 0 :(得分:0)
原来这不是GC相关的问题。这是HBase(HBASE-9428)中的一个错误导致高CPU负载。