Weblogic内存参数调优及优化手册指南

一、WebLogic923 32位JDK优化参数
set MEM_ARGS=-Xms680m -Xmx680m  -XX:PermSize=136m -XX:MaxPermSize=136m -XX:MaxNewSize=1m  -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection  -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSFullGCsBeforeCompaction=2 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0
设置规则:堆内存*2 + 非堆内存<1.5G左右,否则很容易报:swap out of memory的内存溢出异常。64为jdk则没有该规则的限制。

二、WebLogic1036 64位jdk 优化参数
set MEM_ARGS=-Xms800m -Xmx800m  -XX:PermSize=256m -XX:MaxPermSize=256m -XX:-UseGCOverheadLimit -XX:+UseConcMarkSweepGC

三、Weblogic优化手册指南
注:将weblogic所有服务停止,修改配置文件,然后重新启动weblogic所有服务。
1. 编辑文件setDomainEnv.sh (所在路径为weblogic域路径的bin目录底下) 在JAVA_OPTIONS选项中添加-Djava.awt.headless=true属性。
Eg:
JAVA_OPTIONS="${JAVA_OPTIONS} ${JAVA_PROPERTIES} -Djava.awt.headless=true -Dwlw.iterativeDev=${iterativeDevFlag} -Dwlw.testConsole=${testConsoleFlag} -Dwlw.logErrorsToConsole=${logErrorsToConsoleFlag}"
export JAVA_OPTIONS
2. 修改startWebLogic.sh文件的CLASSPATH加载顺序,红色部分为平台主程序中的js.jar类包的位置。CLASSPATH="/app/SG-UDS/WEB-INF/lib/js.jar:${CLASSPATH}${CLASSPATHSEP}${MEDREC_WEBLOGIC_CLASSPATH}"
注:Windows平台下CLASSPATH变量值的分隔符是分号;,Linux/AIX平台下CLASSPATH变量值的分隔符是冒号:。
3. 调整weblogic内存,修改平台域目录下 bin文件夹下的setDomainEnv.sh文件,如下:
1)若此域为SUN JDK,修改如下:
MEM_ARGS="-Xms1024m –Xmx2048m -XX: PermSize=128m -XX:MaxPermSize=512m -XX:MaxNewSize=512m -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection  -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSFullGCsBeforeCompaction=2 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0"
export MEM_ARGS
1) 若此域为Jrockit,修改如下:
MEM_ARGS="-Xms1024m –Xmx2048m"
export MEM_ARGS
注:生产环境根据服务器实际内存的大小来调整参数,建议-Xms 不小于1024m –Xmx不小于2048m  -XX:MaxPermSize不小于512m
4. Too many open files的解决办法,修改……/bea/weblogic92/common/bin目录下的commEnv.sh文件,将1024改成32768,修改如下:
# limit the number of open file descriptors
resetFd() {
  if [ ! -n "`uname -s |grep -i cygwin || uname -s |grep -i windows_nt || \
              uname -s |grep -i HP-UX`" ]
  then
    maxfiles=`ulimit -H -n`
    if [ "$?" = "0" -a  `expr ${maxfiles} : '[0-9][0-9]*$'` -eq 0 ]; then
        ulimit -n 32768
    fi
  fi
}

你可能感兴趣的:(服务容器)