Weblogic内存溢出及常用参数配置
http://www.360doc.com/content/14/0306/14/16134804_358216319.shtml
一、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中,如下参数:
|
标志 |
生产模式设置 |
说明 |
|
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 |
设置集群负载均衡策略 |
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 |
记录日志的级别 |
Error |
图三 |
|
Rotation Minimum |
日志滚动的类型 产生新日志文件大小 |
By 5000k |
|||
|
Limit number of retained Log Files To |
限制保留的日志文件数 要保留的日志文件个数 |
选择 10 |
|||
|
4 |
Domain> Connection Pools> Configuration> Connections |
Initial Maximum |
设置初始容量 最大容量 |
建议初始容量和最大容量设置成相等值,并要考虑并发访问数据库的线程数来调整参数 |
|
|
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中的参数:
集群环境部署参数(集群单机环境都可用):
replicated_if_clustered
true
自动编译检测时间
60
60
三、集群项目部署报错及解决
集群环境项目部署,总会出现版本不一致,造成的部署失败或部署非常慢,部署报错信息:
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,如图
Weblogic内存溢出及常用参数配置的更多相关文章
- 内存溢出与jvm参数配置 ***最爱那水货
第一类内存溢出,也是大家认为最多,第一反应认为是的内存溢出,就是堆栈溢出: 那什么样的情况就是堆栈溢出呢?当你看到下面的关键字的时候它就是堆栈溢出了: Java.lang.OutOfMemoryErr ...
- Production环境中iptables常用参数配置
production环境中iptables常用参数配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我相信在实际生产环境中有很多运维的兄弟跟我一样,很少用到iptables的这个 ...
- 从内存泄露、内存溢出和堆外内存,JVM优化参数配置参数
内存泄漏 内存泄漏是指程序在申请内存后,无法释放已申请的内存空间,无用对象(不再使用的对象)持续占有内存或无用对象的内存得不到及时释放,从而造成内存空间的浪费.内存泄漏最终会导致OOM. 造成内存泄漏 ...
- JVM的内存划分以及常用参数
JVM的主要划分为: 堆内存,虚拟机栈,方法区,程序计数器,本地方法栈 堆内存: 这部分区域是各个线程共享的,java的大部分对象都是储存在堆中. 1.堆在分配对象内存区域的时候可以分为两种,第一种叫 ...
- [Hive_add_8] Hive 常用参数配置
0. 说明 记录 Hive 常用参数的配置 1. 设置本地模式 让 Hive 自动使用 Hadoop 的本地模式运行作业,提升处理性能 适合小文件,一般用于测试 set hive.exec.mode. ...
- 记录:测试本机下使用 GPU 训练时不会导致内存溢出的最大参数数目
本机使用的 GPU 是 GeForce 840M,2G 显存,本机内存 8G. 试验时,使用 vgg 网络,调整 vgg 网络中的参数,使得使用对应的 batch_size 时不会提示内存溢出.使用的 ...
- Tomcat常见问题[内存溢出,虚拟目录配置等](一)
一.Tomcat内存溢出的解决方法 内存溢出一般有如下三种常见的原因: OutOfMemoryError: Java heap space OutOfMemoryError: PermGen spac ...
- weblogic 内存溢出解决 java.lang.OutOfMemoryError: PermGen space
解决办法: 1.在idea中,运行时给weblogic server中 VM options 配置增加内存的参数:-server -XX:PermSize=1024m -XX:MaxPermSize= ...
- JVM常用参数配置
Trace跟踪参数 -verbose:gc -XX:+printGC 打印GC的简要信息 -XX:+PrintGCDetails 打印GC详细信息 -XX:+PrintGCTimeStamps 打印C ...
随机推荐
- MediaStore类的使用
安卓系统会在每次开机之后扫描所有文件并分类整理存入数据库,记录在MediaStore这个类里,通过这个类就可以快速的获得相应类型的文件. 当然这个类只是给你一个uri,提取文件的操作还是要通过Curo ...
- SPOJ 1825 Free tour II 树分治
题意: 给出一颗边带权的数,树上的点有黑色和白色.求一条长度最大且黑色节点不超过k个的最长路径,输出最长的长度. 分析: 说一下题目的坑点: 定义递归函数的前面要加inline,否则会RE.不知道这是 ...
- hexo博客发布注意事项
最近把hexo博客内容写完了,就发布到github上面去,结果就出现各种一些小问题. 1.发布之后,hexo博客的css与js无法访问. 原因:没有配置正确的url路径.(配置文件_config.ym ...
- monkey测试工具与常用的linux命令
Monkey测试工具 说明:monkey是一个安卓自带的命令行工具,可以模拟用户向应用发起一定的伪随机事件.主要用于对app进行稳定性测试与压力测试. 实现:首先需要安装一个ADB工具,安装完之后,需 ...
- [python工具篇][pycharm安装与配置][1]安装与设置
1 官网下载专业版 2 打开pycharm,选择license server 激活,地址输入:http://idea.imsxm.com 3 新建工程(一个大文件夹) 4 设置字体大小(file-&g ...
- ABP介绍
ABP是ASP.NET Boilerplate Project (ASP.NET样板项目)的简称. ABP 适用的场景:中小规模 WEB 应用开发,可直接使用 ABP 框架. 较大型项目可以在 ABP ...
- git命令综合
Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势.Git常用操作命令:1) 远程仓库相关命令检出仓库:$ git clone git: ...
- HDU——1020Encoding(水题,string过)
Encoding Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total S ...
- BZOJ2302 [HAOI2011]Problem c 【dp】
题目 给n个人安排座位,先给每个人一个1~n的编号,设第i个人的编号为ai(不同人的编号可以相同),接着从第一个人开始,大家依次入座,第i个人来了以后尝试坐到ai,如果ai被占据了,就尝试ai+1,a ...
- 刷题总结——维护数列(NOI2005 bzoj1500 splay)
题目: 题目背景 NOI2005 DAY1 T2 题目描述 请写一个程序,要求维护一个数列,支持以下 6 种操作:(请注意,格式栏中的下划线‘_’表示实际输入文件中的空格)