Tune JVM garbage collection in RegionServers

You can tune garbage collection in HBase RegionServers for stability,
because a RegionServer cannot utilize a very large heap due to the cost of garbage
collection. Administrators should specify no more than 24 GB for one RegionServer.

Specify the following configurations in the
HBASE_REGIONSERVER_OPTS configuration option in the
/conf/hbase-env.sh.

-XX:+UseConcMarkSweepGC
-Xmn2500m (depends on MAX HEAP SIZE, but should not be less than 1g and more than 4g)
-XX:PermSize=128m
-XX:MaxPermSize=128m
-XX:SurvivorRatio=4
-XX:CMSInitiatingOccupancyFraction=50
-XX:+UseCMSInitiatingOccupancyOnly
-XX:ErrorFile=/var/log/hbase/hs_err_pid%p.log
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps

Ensure that the block cache size and the MemStore size combined do not
significantly exceed 0.5*MAX_HEAP, which is defined in the
HBASE_HEAP_SIZE configuration option of the
/conf/hbase-env.sh file.