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
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中的参数:

集群环境部署参数(集群单机环境都可用):

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内存溢出及常用参数配置的更多相关文章

  1. 内存溢出与jvm参数配置 ***最爱那水货

    第一类内存溢出,也是大家认为最多,第一反应认为是的内存溢出,就是堆栈溢出: 那什么样的情况就是堆栈溢出呢?当你看到下面的关键字的时候它就是堆栈溢出了: Java.lang.OutOfMemoryErr ...

  2. Production环境中iptables常用参数配置

    production环境中iptables常用参数配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我相信在实际生产环境中有很多运维的兄弟跟我一样,很少用到iptables的这个 ...

  3. 从内存泄露、内存溢出和堆外内存,JVM优化参数配置参数

    内存泄漏 内存泄漏是指程序在申请内存后,无法释放已申请的内存空间,无用对象(不再使用的对象)持续占有内存或无用对象的内存得不到及时释放,从而造成内存空间的浪费.内存泄漏最终会导致OOM. 造成内存泄漏 ...

  4. JVM的内存划分以及常用参数

    JVM的主要划分为: 堆内存,虚拟机栈,方法区,程序计数器,本地方法栈 堆内存: 这部分区域是各个线程共享的,java的大部分对象都是储存在堆中. 1.堆在分配对象内存区域的时候可以分为两种,第一种叫 ...

  5. [Hive_add_8] Hive 常用参数配置

    0. 说明 记录 Hive 常用参数的配置 1. 设置本地模式 让 Hive 自动使用 Hadoop 的本地模式运行作业,提升处理性能 适合小文件,一般用于测试 set hive.exec.mode. ...

  6. 记录:测试本机下使用 GPU 训练时不会导致内存溢出的最大参数数目

    本机使用的 GPU 是 GeForce 840M,2G 显存,本机内存 8G. 试验时,使用 vgg 网络,调整 vgg 网络中的参数,使得使用对应的 batch_size 时不会提示内存溢出.使用的 ...

  7. Tomcat常见问题[内存溢出,虚拟目录配置等](一)

    一.Tomcat内存溢出的解决方法 内存溢出一般有如下三种常见的原因: OutOfMemoryError: Java heap space OutOfMemoryError: PermGen spac ...

  8. weblogic 内存溢出解决 java.lang.OutOfMemoryError: PermGen space

    解决办法: 1.在idea中,运行时给weblogic server中 VM options 配置增加内存的参数:-server -XX:PermSize=1024m -XX:MaxPermSize= ...

  9. JVM常用参数配置

    Trace跟踪参数 -verbose:gc -XX:+printGC 打印GC的简要信息 -XX:+PrintGCDetails 打印GC详细信息 -XX:+PrintGCTimeStamps 打印C ...

随机推荐

  1. Linux系统监视工具

    转自      http://bbs.51cto.com/thread-971896-1.html # 1: top – 查看活动进程的命令TOP工具能够实时显示系统中各个进程的资源占用状况.默认情况 ...

  2. HashMap的C++实现

    #include <iostream> #include <cstring> #include <string> typedef unsigned int SIZE ...

  3. fzu1759 Super A^B mod C 扩展欧拉定理降幂

    扩展欧拉定理: \[ a^x \equiv a^{x\mathrm{\ mod\ }\varphi(p) + x \geq \varphi(p) ? \varphi(p) : 0}(\mathrm{\ ...

  4. tarjan - SPFA - Luogu 3387【模板】缩点

    [模板]缩点 题目描述 给定一个n个点m条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大.你只需要求出这个权值和. 允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次 ...

  5. 链表中倒数第k个结点 【微软面试100题 第十三题】

    题目要求: 输入一个链表,输出该链表中倒数第k个结点.链表的倒数第0个结点为链表的尾指针. 参考资料:剑指offer第15题 题目分析: 1.两个指针,第一个先走k步,然后两个指针同时走,直到第一个走 ...

  6. [POJ 1005] I Think I Need a Houseboat C++解题

        I Think I Need a Houseboat Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 81874   ...

  7. Wannafly模拟赛2

    Contest 时间限制:1秒 空间限制:131072K 题目描述 n支队伍一共参加了三场比赛. 一支队伍x认为自己比另一支队伍y强当且仅当x在至少一场比赛中比y的排名高. 求有多少组(x,y),使得 ...

  8. jquery trigger

    <button id="bt1" class="layui-btn layui-btn-normal"> 点击提交 </button> ...

  9. C遇到的编译错误整理

    1: Permission denied collect2.exe: error: ld returned exit status c:/mingw/bin/../lib/gcc/mingw32/6. ...

  10. JDBC 学习笔记(一)—— JDBC 基础

    1. 什么是 JDBC JDBC,Java Database Connectivity(Java 数据库连接),是一组执行 SQL 语句的 Java API. JDBC,是 Java SE(Java ...