一、WebLogic内存溢出 最近访问量门户访问量突然增大,总是内存溢出,频繁宕机,调整了很多参数没起作用,偶然发现Weblogic域在不断增大,罪魁祸首竟然是Weblogic的诊断文件,也是造成Weblogic内存溢出的主要原因。当Weblogic启动时就加载了每个Server上的诊断文件,占用了大部分内存分配,用户访问量越大这个文件也随之越大,将他删除后重新启动服务,八个Server竟然也只用了6分钟,部署项目也只需7,8分钟,一直平稳运行,再无内存溢出现象。 该文件地址:/bea/user_projects/domains/{domain_name}/servers/{Server_name}/data/store/diagnostics/*.DAT (注:AdminServer下该诊断文件为1M左右正常)
但是该文件还会继续生成增大,我们的域中并没有配置相关启动诊断文件的设置,Bea售后也无法解释,但可以通过尝试增加启动参数(-Dcom.bea.wlw.netui.disableInstrumentation=true )来控制该诊断文件的增长,在/bea/user_projects/domains/{domain_name}/bin/startWebLogic.sh中: if [ "${WLS_REDIRECT_LOG}" = "" ] ; then echo "Starting WLS with line:" echo "${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Dcom.bea.wlw.netui.disableInstrumentation=true -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${PROXY_SETTINGS} ${SERVER_CLASS}" ${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Dcom.bea.wlw.netui.disableInstrumentation=true -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${PROXY_SETTINGS} ${SERVER_CLASS} else echo "Redirecting output from WLS window to ${WLS_REDIRECT_LOG}" ${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Dcom.bea.wlw.netui.disableInstrumentation=true -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${PROXY_SETTINGS} ${SERVER_CLASS} >"${WLS_REDIRECT_LOG}" 2>&1 该参数控制netui的诊断文件的生成。
同时,可以在/bea/user_projects/domains/{domain_name}/bin/setDomainEnv.sh中设置GC日志的打印参数分析: MEM_ARGS=”-Xms2048m –Xmx2048m –verbosegclog:gc.log” Export MEM_ARGS 该参数会在/bea/user_projects/domains/{domain_name}/下输出gc.lgo
二、Portal Domain 调整 Domain目录/bin/setDomainEnv中,如下参数:
三、Weblogic 常用参数配置
Weblogic.xml中的参数: 集群环境部署参数(集群单机环境都可用): <wls:session-descriptor> <wls:persistent-store-type>replicated_if_clustered</wls:persistent-store-type> <wls:sharing-enabled>true</wls:sharing-enabled> </wls:session-descriptor> 自动编译检测时间 <wls:jsp-descriptor> <wls:page-check-seconds>60</wls:page-check-seconds> </wls:jsp-descriptor> <wls:container-descriptor> <wls:servlet-reload-check-secs>60</wls:servlet-reload-check-secs> </wls:container-descriptor>
三、集群项目部署报错及解决 集群环境项目部署,总会出现版本不一致,造成的部署失败或部署非常慢,部署报错信息: Failure occured in the execution of deployment request with ID '116857440499' for task '2'. ...... 解决办法: 将weblogic上所有的类库不仅发不到Cluster中还要同时发布到AdminServer上,改变所有类库的Target,如图 |
|
来自: javaxiaop > 《WebLogic》