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的存活時間

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