Tomcat CATALINA_OPTS와 JAVA_OPTS 차이
조회 0 · 댓글 0
Tomcat에 힙 크기나 GC 옵션을 줄 때 JAVA_OPTS에 넣을지 CATALINA_OPTS에 넣을지 헷갈리는 분들이 있습니다. 공식 RUNNING.txt 기준으로 정리하면, 둘 다 기동하는 java 명령에 옵션을 넘기지만 적용 범위가 다릅니다. JAVA_OPTS는 start뿐 아니라 stop을 포함한 다른 명령에도 함께 쓰이고, CATALINA_OPTS는 Tomcat을 기동(start/run)할 때만 쓰입니다.
그래서 문서는 메모리 한도는 JAVA_OPTS에 두지 말라고 못 박습니다. Tomcat을 멈추는 작은 프로세스까지 큰 힙을 들고 뜰 이유가 없으니까요. 힙, GC 로깅, JMX 포트 같은 기동 전용 옵션은 CATALINA_OPTS에 넣는 게 맞습니다. 자, 설정 위치도 중요합니다. 이런 변수는 startup.sh를 고치지 말고 setenv.sh(없으면 새로 만들어서)에 넣는 게 공식 권장입니다.
# $CATALINA_BASE/bin/setenv.sh (없으면 생성, 실행권한)
CATALINA_OPTS="-Xms1g -Xmx1g -XX:+UseG1GC"
export CATALINA_OPTS주의할 점 하나. setenv.sh 위치는 CATALINA_BASE/bin이 먼저 읽히고 없으면 CATALINA_HOME/bin을 봅니다. 멀티 인스턴스로 BASE를 분리해 쓰는 환경이면 어느 쪽 bin에 넣었는지 꼭 확인합시다.
로그인 후 답글을 남길 수 있습니다.