zoukankan      html  css  js  c++  java
  • 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 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,如图

  • 相关阅读:
    qt学习笔记(1):qt点击运行没有反应。
    JS Object类型
    JS Boolean数据类型和数据类型转换规律
    CSS雪碧图
    CSS
    PS基础
    JS number数字类型
    js中的变量和数据类型
    JS 基础
    单词
  • 原文地址:https://www.cnblogs.com/lcword/p/8017050.html
Copyright © 2011-2022 走看看