hbase GC优化

编辑配置文件

编辑 hbase-env.sh

 

export HBASE_OPTS="$HBASE_OPTS -XX:+UseCompressedOops -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=75 -XX:SoftRefLRUPolicyMSPerMB=0"

 

重启服务使得配置生效

 

具体参数含义如下:

-XX:+UseCompressedOops

压缩指针,解决内存占用

 

-XX:+UseParNewGC

设置年轻代为并行收集

 

-XX:+UseConcMarkSweepG

使用CMS内存收集

 

-XX:+CMSClassUnloadingEnabled

相对于并行收集器,CMS收集器默认不会对永久代进行垃圾回收。如果希望对永久代进行垃圾回收,可用设置标志-XX:+CMSClassUnloadingEnabled。 在早期JVM版本中,要求设置额外的标志-XX:+CMSPermGenSweepingEnabled。注意,即使没有设置这个标志,一旦永久代耗尽空 间也会尝试进行垃圾回收,但是收集不会是并行的,而再一次进行Full GC。

 

-XX:+UseCMSCompactAtFullCollection

使用并发收集器时,开启对年老代的压缩.

 

-XX:CMSFullGCsBeforeCompaction

由于并发收集器不对内存空间进行压缩,整理,所以运行一段时间以后会产生”碎片”,使得运行效率降低.此值设置运行多少次GC以后对内存空间进行压缩,整理.

 

-XX:+CMSParallelRemarkEnabled

降低标记停顿

 

-XX:CMSInitiatingOccupancyFraction=75

使用cms作为垃圾回收使用75%后开始CMS收集

 

-XX:SoftRefLRUPolicyMSPerMB

每兆堆空闲空间中SoftReference的存活时间

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章