记录下前面分析系统APP Server GC异常的情况
根据服务器GC的参数设置,结合服务器Heap 一段时间居高不下(会阻塞一段时间,然后会回收),但是并未发生out of memory的情况,分析如下
1、 Heap的总大小设置为1g,年轻代的大小128m,垃圾回收算法使用的是 gencon(并发垃圾收集,高响应性能),
这个算法更注重高响应,要求稍微大的年轻代大小。在此算法下,年轻代相对小的话,会导致过多的对象进入年老代。(建议适当增加年轻代大小)
<!--[if !supportLists]-->2、 <!--[endif]-->根据weblogic的官方文档,推荐使用以下配置
JRockit JDK
When using JRockit's JVM, experiment with the following garbage collection parameters:
<!--[if !supportLists]-->§ <!--[endif]-->-Xms
and -Xmx
(use equal settings at startup)
<!--[if !supportLists]-->§ <!--[endif]-->-Xns
<!--[if !supportLists]-->§ <!--[endif]-->-Xgc: parallel
<!--[if !supportLists]-->§ <!--[endif]-->-XXenablefatspin
3、建议增加以下参数,将GC收集的信息打印到一个文件中,方便查找 -Xverboselog:verbose-jrockit.log(通过这些GC的log,可以看出gc的具体信息,方便调整gc的配置)
-Xverboselog:verbose-jrockit.log 会把GC收集的信息打印到verbose-jrockit.log 这个log文件里,bin目录下