BEA WebLogic Server Tuning (Heap Size,JVM GC Parameter) Enjoy/etc2008. 11. 15. 13:12
출처 : http://docs.sun.com/app/docs/doc/819-4673/gbpxu?l=ko&a=view
BEA WebLogic Server
Consider making the following changes:
JVM GC Parameter
For BEA WebLogic Server 8.1 SP4, to avoid the java.lang.OutofMemoryError reported by the WebLogic JVM 1.4.2_05, add the following JVM GC (garbage collection) parameter in the startWebLogic.sh JAVA_OPTIONS:
-XX:-CMSParallelRemarkEnabled
Set this parameter in addition to the other heap size and GC parameters that have been added for JVM 1.4.2 for Application Server 8.1 and Web Server 6.1.
For example, if Access Manager is installed in the default user_projects location (/usr/local/bea/user_projects/domains/mydomain/startWebLogic.sh):
JAVA_OPTIONS="-XX:+DisableExplicitGC -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:+CMSClassUnloadingEnabled -XX:-CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+PrintClassHistogram -XX:+PrintGCTimeStamps -Xloggc:/usr/local/bea/user_projects/domains/mydomain/myserver/gc.log"
If you use WebLogic 9.x with Sun JVM 1.5 or later, then some of the GC algorithms can be safely removed. The following is a list of JVM options that can be used with Sun JVM 1.5 or later.
-XX:NewSize=336M -XX:MaxNewSize=336M -XX:+DisableExplicitGC -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+PrintClassHistogram -XX:+PrintGCTimeStamps -Xloggc:/opt/WebSphere/AppServer/logs/server1/gc.log -XX:-CMSParallelRemarkEnabled
Heap Size
Modify the commonEnv.sh script in the /usr/local/bea/weblogic81/common/bin directory for heap size increases in the section where $PRODUCTION_MODE" = "true" (which should be set to true, before running Access Manager in /usr/local/bea/user_projects/domains/mydomain/startWebLogic.sh):
# Set up JVM options base on value of JAVA_VENDOR if [ "$PRODUCTION_MODE" = "true" ]; then case $JAVA_VENDOR in BEA) JAVA_VM=-jrockit MEM_ARGS="-Xms128m -Xmx256m" ;; HP) JAVA_VM=-server MEM_ARGS="-Xms32m -Xmx200m -XX:MaxPermSize=128m" ;; IBM) JAVA_VM= MEM_ARGS="-Xms32m -Xmx200m" ;; Sun) JAVA_VM=-server MEM_ARGS="-Xms2688M -Xmx2688M -XX:NewSize=336M -XX:MaxNewSize=336M" # MEM_ARGS="-Xms32m -Xmx200m -XX:MaxPermSize=128m"
Execute Queue Thread Count
Set the Execute Queue Thread count to be more than the number of CPUs. For example, consider using a value that is twice the number of CPUs. Set this value in either the console or in the /usr/local/bea/user_projects/domains/mydomain/config.xml file:
<ExecuteQueueName="MyExecute Queue" ThreadCount="8" ThreadsIncrease="4"/>
For more information, see “Modifying the Default Thread Count” in “WebLogic Server Performance and Tuning” at:
http://e-docs.bea.com/wls/docs81/perform/WLSTuning.html#1142218
Connection Backlog Buffering
A guideline for setting Connection Backlog Buffering is 8192 for a server with 4 Gbytes of physical memory (which is equivalent to the ConnectionQueue size tuning set in the Sun Java System Web Server 6.1 magnus.conf file).
For more information, see “Tuning Connection Backlog Buffering” in the “WebLogic Server Performance and Tuning” document at:
http://e-docs.bea.com/wls/docs81/perform/WLSTuning.html#1136287