增加jvm启动参数,如:
-Ddefault.client.encoding=\=\
修改方法:
$DOMAIN_HOME\\bin\\startWebLogic.sh
if [ \ echo \
echo \-Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS}\
${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS} else
echo \
${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS} >\fi
?
if [ \ echo \
echo \-Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS}\
${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Ddefault.client.encoding=\-Dfile.encoding=\ -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS} else
echo \
${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Ddefault.client.encoding=\-Dfile.encoding=\ -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS} >\fi
2.2. umask值更改
缺省情况下,weblogic会在startWebLogic.sh文件中修改umask值为037,这样导致一个问题就是,其他用户无法访问weblogic用户生成的日志文件,也不能进入weblogic生成的目录。需要将umask的值修改为022。
umask 022
操作系统当前Weblogic用户的.profile文件也需要修改,增加umask022设置。
2.3. 日志重定向参数
缺省情况下,WebLogic会将标准输出写入到主控台,或nohup的日志文件,可以考虑通过设置变量WLS_REDIRECT_LOG来将nohup日志转储到指定的目录下:
先确认DOMAIN_HOME,在startWebLogic.sh和setDomainEnv.sh文件中可以确认,如DOMAIN_HOME=\
在$DOMAIN_HOME下创建log目录:
exportDOMAIN_HOME=\mkdir$DOMAIN_HOME/logs
在startWebLogic.sh文件中DOMAIN_HOME=\与
. ${DOMAIN_HOME}/bin/setDomainEnv.sh $*之间增加WLS_REDIRECT_LOG重定向日志文件:
WLS_REDIRECT_LOG=\
2.4. Java虚拟机内存设置
缺省java虚拟机内存只有512MB,不适合运行在生产系统,需要更改设置,如无特殊需求可以将其提高到5GB。
AIX平台:
AIX平台JDK1.6版本J9,permsize设置无效,故如下:
USER_MEM_ARGS=\
HP平台:
HP-UX使用64位大内存模式设置:
USER_MEM_ARGS=\-d64 -Xms5120m -Xmx5120m -Xmn1024m -XX:PermSize=1024m -XX:MaxPermSize=1024m\
Linux平台:
USER_MEM_ARGS=\-XX:MaxPermSize=1024m\
Xss参数可以设置每个线程的最大栈大小,AIX 64位默认为512k,HP最小线程栈为264KB
如果内存足够,可以设置为8GB,new 2GB, perm 1.5GB
2.5. Java虚拟机启动选项JAVA_OPTIONS 1) 进程表示
每个Java进程增加一个标示信息。针对weblogic进程采取server name标识,普通java程序增加-Dname=xxxx信息。 Weblogic进程 Java进程 -Dweblogic.Name=AdminServer -DName=TxCollector 其中AdminServer需要修改启动脚本 普通Java程序 2) GC策略
Sun和HP的JDK默认采用分代并发的收集策略,而IBM的JDK则默认采用optthruput策略(共四种策略gencon | optavgpause | optthruput | subpool)
AIX平台:
IBMJDK建议使用gencon策略(分代并发),参数设置方式为:-Xgcpolicy:gencon 其主要作用是使JVM内存按照generation来分配,缺省是虚拟机自己管理。
IBMJ9未使用分代管理时的JVM内存使用:
IBM JDK1.6 J9使用 -Xgcpolicy:gencon:
HP-UX和Linux平台: 使用默认策略即可。
3) 禁止System.gc()
为避免程序主动通过System.gc()发起full GC,在java启动项中增加下面参数
AIX平台:
JAVA_OPTIONS=\
HP和Linux平台:
如果需要禁止程序通过System.gc()发起full GC,则在设置下面的java参数: JAVA_OPTIONS=\也可以不必关闭,而是允许其并行full GC,设置为:
JAVA_OPTIONS=\
4) 收集GC日志
AIX平台:
JAVA_OPTIONS=\
HP-UX平台:
JAVA_OPTIONS=\
Linux平台(Oracle JVM):
JAVA_OPTIONS=\-XX:+PrintGCDetails -XX:+PrintGCTimeStamps\
5) kill -3时生成heapdump
AIX平台:
生成javacore及heapdump并指定core文件的生成位置,则使用下面的参数:
-Xdump:heap:file=$DOMAIN_HOME/logs/heapdump.%Y%m%d.%H%M%S.%pid.%seq.phd
-Xdump:java:defaults:file=$DOMAIN_HOME/logs/javacore.%Y%m%d.%H%M%S.%pid.%seq.txt
HP平台:
-XX:+HeapDumpOnCtrlBreak
指定core文件的位置,使用下面的参数:
-XX:HeapDumpPath=$DOMAIN_HOME/logs/heapdump.$$.hprof
Linux平台: