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,如圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM