使用cms垃圾回收方法,设置以下参数-XX:CMSInitiatingOccupancyFraction=50。理论上old堆里的内存使用超过50%就应该执行cms,可是我的机器上看,一致没有执行cms,知道最好快没有内存的时候才执行,导致程序down,什么问题以下是我的配置
-Xms3000m -Xmx3000m -Xmn500m -verbose:gc -XX:+CMSParallelRemarkEnabled -XX:CMSFullGCsBeforeCompaction=0 -XX:+CMSClassUnloadingEnabled -XX:+PrintClassHistogram -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=50 -Xloggc:$HBASE_HOME/logs/gc-hbase.log
另外我们的项目使用hbase存储大容量数据,有研究的讨论以下。