톰캣 Catalina 설정

JAVA_OPTS="-Xms1024m -Xmx4096m -XX:NewRatio=1 -XX:MaxPermSize=128m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/server/tomcat/logs/heapdump/ -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -Xloggc:/usr/local/server/tomcat/logs/gc/gc.log"

## 각 요소별 설명 ##
-Xms1024m : Heap 메모리의 최소 크기(1GB로 설정)
-Xmx4096m : Heap 메모리의 최대 크기(4GB로 설정)
-XX:NewRatio=1 : Young Generation과 Old Generation의 비율 1:1
XX:MaxPermSize=128m : Permanent Generation의 최대 크기입니다.(128M로 설정)
-XX:+HeapDumpOnOutOfMemoryError : Out Of Memory Error가 발생하면 Heap Dump를 file에 기록한다.
-XX:HeapDumpPath=/usr/local/server/tomcat/logs/heapdump/ : Heap Dump용 디렉토리 경로나 파일명
-XX:+PrintGCDetails : GC 발생시 Heap 영역의 대한 비교적 상세한 정보를 추가적으로 기록한다.
-XX:+PrintGCTimeStamps :  GC가 발생한 시간을 JVM의 최초 구동시간 기준으로 기록한다.
-XX:+PrintHeapAtGC : GC 발생 전후의 Heap에 대한 정보를 상세하게 기록한다.
-Xloggc:/usr/local/server/tomcat/logs/gc/gc.log : GC Log를 기록할 파일명을 지정한다.



JVM Heap 최대 사이즈는 가용메모리의 60%를 넘지 않게 셋팅한다.
뭐 GC관련 I/O발생이 높다고 알려져있음..