最近在做个类似聊天室的东西。
用的<a4j:poll>处理的。
不过每当poll一次,jvm内存就增加1M,想不通,一个窗口poll已经可以让jvm冲到1到2G的内存占用。
网上查richfaces的poll关于内存泄露的东西也没有。自己的代码反复检查也没有,毕竟都是很简单的代码。
网上提到的seam的性能提升我只查到多用
@org.jboss.seam.annotations.intercept.BypassInterceptors
我的bean也都用了。还是不行。
整个系统慢的要死,刷新一个页面要10多秒。想想多半是自己的jvm参数有问题,于是打开-verbose:gc,发现jvm老是在gc,看来我的jvm参数的确有大问题了。
我用的IBM1.5的jdk。在查找网上资料后将jboss的参数更改为:
JAVA_OPTS="-Xms512m -Xmx512m -Xminf0.4 -Xmaxf0.6 -Dsun.rmi.dgc.client.gcInterval=600000 -Dsun.rmi.dgc.server.gcInterval=600000 -Xgcpolicy:gencon -Xgcthreads2"
的确,内存不再疯涨了。不过还是不够快。想精简一下jboss的default deploy的内容,于是移除
/server/default/deploy/下面的文件:
bsh-deployer.xml jboss-ha-local-jdbc.rar jmx-console.war mail-ra.rar monitoring-service.xml scheduler-service.xml http-invoker.sar jboss-ha-xa-jdbc.rar jmx-invoker-service.xml mail-service.xml quartz-ra.rar jboss-bean.deployer jms jsr88-service.xml management schedule-manager-service.xml
效果出奇的好,系统反应非常快。