设为首页 收藏本站
查看: 905|回复: 0

[经验分享] Weblogic内存溢出及常用参数配置

[复制链接]

尚未签到

发表于 2017-2-16 06:19:29 | 显示全部楼层 |阅读模式
一、WebLogic内存溢出
最近访问量门户访问量突然增大,总是内存溢出,频繁宕机,调整了很多参数没起作用,偶然发现Weblogic域在不断增大,罪魁祸首竟然是Weblogic的诊断文件,也是造成Weblogic内存溢出的主要原因。当Weblogic启动时就加载了每个Server上的诊断文件,占用了大部分内存分配,用户访问量越大这个文件也随之越大,将他删除后重新启动服务,八个Server竟然也只用了6分钟,部署项目也只需78分钟,一直平稳运行,再无内存溢出现象。
该文件地址:/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中,如下参数:
 
标志
生产模式设置
说明
DOMAIN_PRODUCTION_MODE
true
该参数决定Domain是否在生产环境下运行,可以在创建Domain时选择运行模式,也可以手工调整这个参数
IterativeDevFlag
false
是否自动编译
DebugFalg
false
是否启用调试器
TestConsoleFlag
False
支持JMS测试工具
LogErrorsToConsoleFlag
False
是否向屏幕输出error日志
verboseLogginFlag
False
是否输出Debug日志
PointbaseFlag
False
是否自动启动Pointbase
三、Weblogic 常用参数配置
 
序号
项目
内容
描述
参考值
附图
1
Domain>
Environment>
Cluster>
General>
Default Load Algorithm:
设置集群负载均衡策略
Round-robin:循环
Weight-based:权重(配置此种策略要针对没各Server配置想用的权重,见2)
Random:随机
Round-robin-affinity/
Weight-based-affinity/
Random-affinity这三个参数针对硬件做前端负载均衡设置
图一
2
Domain>
Environment>
Servers>
ManagedServer>
Cluster>
Cluster Weight:
设置 每个Managed Server的分发权重
默认100,设置占100的百分比
图二
3
Domain>
Environment>
Servers>
Server>
Logging>
Stdout Serverity Threshold:
记录日志的级别
Error
图三
 
 
Rotation Type:
Minimum File Size
日志滚动的类型
产生新日志文件大小
By Size
5000k
 
 
 
 
Limit number of retained files
Log Files To Retain:[n]
限制保留的日志文件数
 
要保留的日志文件个数
 选择
 
10
 
4
Domain>
 Connection Pools>
 Configuration>
  Connections
Initial Capacity:
Maximum Capacity:
设置初始容量
最大容量
建议初始容量和最大容量设置成相等值,并要考虑并发访问数据库的线程数来调整参数
 
5
Domain>
 Connection Pools>
 Configuration>
  Connections
URL
集群数据库URL设置方法
例如:jdbc:oracle:thin:@
(description=
(address_list=(address=(host=scdb1_vip)
(protocol=tcp)(port=1521))
(address=(host=scdb2_vip)
(protocol=tcp)(port=1521))
(load_balance=yes)
(failover=yes))
(connect_data=(service_name=scdb)))
 
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'.
Error is: 'weblogic.management.DeploymentException: J2EE:160149Error while processing library references.
Unresolved application library references, defined in weblogic-application.xml:
Extension-Name: beehive-controls-1.0, Specification-Version: 1, Implementation-Version: 1.0, exact-match: false,
Extension-Name: weblogic-controls-1.0, Specification-Version: 1, Implementation-Version: 1.0, exact-match: false,
Extension-Name: wls-commonslogging-bridge, Specification-Version: 1, Implementation-Version: 1.0, exact-match: false.'
weblogic.management.DeploymentException: J2EE:160149Error while processing library references.
Unresolved application library references, defined in weblogic-application.xml:
Extension-Name: beehive-controls-1.0, Specification-Version: 1, Implementation-Version: 1.0, exact-match: false,
Extension-Name: weblogic-controls-1.0, Specification-Version: 1, Implementation-Version: 1.0, exact-match: false,
Extension-Name: wls-commonslogging-bridge, Specification-Version: 1, Implementation-Version: 1.0, exact-match: false.

  ......
  解决办法:
  将weblogic上所有的类库不仅发不到Cluster中还要同时发布到AdminServer上,改变所有类库的Target,如图

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-342641-1-1.html 上篇帖子: Hibernate3.X使用weblogic布署相关问题解决 下篇帖子: weblogic-ejb-jar.dtd can not parse without interne
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表