CAFE

WebLogic

[WLS]JVM 튜닝

작성자Luke|작성시간07.10.26|조회수2,765 목록 댓글 0

추천 튜닝 옵션

 

1. Heap 의 Max 와 Min Size 는 같게

2. PermSize 를 지정할것

3. -server 옵션 지정

4. NewSize, MaxNewSize는 같게, 전체 Heap 의 1/3 크기

5. 1.4.2_1x 부터는 Parallel GC 사용 권장

6. Full GC Time 이 많이 소요될 경우 CMS( Concurrnet GC )사용

7. 32Bit JVM의 경우 HeapSize는 Max 1200M~1500M 까지

8. Full GC는 통상적으로 1시간에 1회, 1회 5~12 초가 적절

 

java -server

-Xms1024m -Xmx1024m

-XX:MaxPermSize=256m

-XX:NewSize=384m -XX:MaxNewSize=384m

-XX:+UseParallelGC -XX:ParallelGCThreads=4

-verbosegc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps

 

참조 :

-Xms256m -Xmx256m -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -XX:+PrintGCApplicationStoppedTime -XX:NewSize=64M -XX:MaxNewSize=64M -XX:SurvivorRatio=8 -Xloggc:/logs/weblogic/gc.log

 

-Xverbosegclog:gc.log (IBM JDK)

 

[WebLogic 8.x - startManagedWebLogic.sh 예]

 

JAVA_VM="-server"

JAVA_OPTIONS="-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution ${JAVA_OPTIONS}"

MEM_ARGS="-D:${SERVER_NAME} -Xms1024m -Xmx1024m -XX:MaxPermSize=256m"

 

# Start WebLogic server
echo CLASSPATH="${CLASSPATH}"
echo
echo PATH="${PATH}"
echo
echo "***************************************************"
echo "*  To start WebLogic Server, use a username and   *"
echo "*  password assigned to an admin-level user.  For *"
echo "*  server administration, use the WebLogic Server *"
echo "*  console at http://<hostname>:<port>/console    *"
echo "***************************************************"

 

"$JAVA_HOME/bin/java" ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} 
  -Dweblogic.Name=${SERVER_NAME}
  -Dweblogic.management.username=${WLS_USER} 
  -Dweblogic.management.password=${WLS_PW} 
  -Dweblogic.management.server=${ADMIN_URL}  
  -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" 
   weblogic.Server

 

 

 

[WebLogic 9.x/10.x - startWebLogic.sh 설정 예]

 

JAVA_OPTIONS="-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps " ${JAVA_OPTIONS} 

 

if [ "${SERVER_NAME}" != "AdminServer" ] ; then
        MEM_ARGS="-D:${SERVER_NAME} -Xms1024m -Xmx1024m -XX:MaxPermSize=256m"
fi

 

[ JRockit 용 예]

MEM_ARGS=-server -Xms1024m -Xmx1536m -Xverboselog:gc.log -Xverbose:memory -Xgcprio:throughput

 

[ IBM JDK 1.4 용 예 ]

MEM_ARGS=-verbose:gc -Dibm.dg.trc.print=st_verify -Xverbosegclog:gc.log

 

[ IBM JDK 1.5 용 예 ]

USER_MEM_ARGS=-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -Xverbosegclog:gc.log

 

 http://kr.bea.com/files/support/best_tip/17_2007/server_c.pdf

http://lamp.epfl.ch/java/java-ibm-1.5/docs/ko/sdkandruntimeguide.lnx.ko.htm

 

[벤더별 예]

1) HP

USER_MEM_ARGS="-XX:+UseParNewGC -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -verbose:gc -Xloggc:gc.log -XX:+HeapDumpOnOutOfMemoryError -Xverbosegc:file=./GC/${SERVER_NAME}_GC_`date '+%y%m%d_%H%M%S'`.txt" -Dweblogic.jsp.windows.caseSensitive=true"

export USER_MEM_ARGS 

 

MEM_ARGS="-ms1024m -mx1024m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:CodeCacheMinimumFreeSpace=2M -XX:ReservedCodeCacheSize=64M"

export MEM_ARGS

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼