[Backup 240124]
톰캣 내부에 agent 모델을 심을 일이 있었는데, catalina.sh(envset.sh) 안에 코드에서 궁금한 점이 있었다.
1. CATALINA_OPTS 사용
CATALINA_OPTS="$CATALINA_OPTS -javaagent:[scouter agent 경로]/scouter.agent.jar"
export CATALINA_OPTS
2. JAVA_OPTS 사용
#Scouter Agent Setting
SCOUTER_AGENT_DIR=""
COLLECTOR_SERVER_IP="192.168.56.1"
export JAVA_OPTS="$JAVA_OPTS -javaagent:${SCOUTER_AGENT_DIR}/scouter.agent.jar"
export JAVA_OPTS="$JAVA_OPTS -Dscouter.config=${SCOUTER_AGENT_DIR}/conf/scouter.conf"
export JAVA_OPTS="$JAVA_OPTS -Dnet_collector_ip=${COLLECTOR_SERVER_IP}"
분명 두 변수가 유사할 것이라고 생각했는데, 확실히 알고자 검색을 통해 확인한 내용을 정리하였다.
JAVA_OPTS applies to all the running Tomcat instances, whereas CATALINA_OPTS works only on a single Tomcat instance.
JAVA_OPTS 의 모든 변경 사항은 실행 중인 모든 Tomcat 인스턴스에 적용되는 반면 CATALINA_OPTS는 단일 Tomcat 인스턴스에서만 작동한다는 것이 주요 차이이다.
즉, JAVA_OPTS를 사용하여 동일한 JVM에서 실행되는 모든 Tomcat 인스턴스에 대한 전역 JVM 구성을 설정할 수 있다.
- CATALINA_OPTS 사용
- CATALINA_OPTS는 Tomcat 서버 시작 시에만 사용되는 환경 변수이다.
- 주로 서버의 성능 관련 옵션(메모리 설정, Java Agent 설정 등)을 지정하는 데 사용된다.
- 이 변수를 사용하면 Tomcat이 시작될 때만 옵션이 적용되고, 다른 Tomcat 유틸리티에서는 영향을 받지 않는다.
- JAVA_OPTS 사용
- JAVA_OPTS는 Tomcat 뿐만 아니라 JVM이 시작할 때마다 적용되는 환경 변수이다.
- 이 변수는 Tomcat과 관련된 모든 Java 프로세스(예: shutdown hooks, JSP 컴파일러)에 영향을 미친다.
- 따라서 서버 성능과 직접적으로 관련된 옵션보다는 JVM 성능과 관련된 일반적인 설정에 사용된다.
CATALINA_OPTS는 Tomcat 서버 자체에만 영향을 주는 반면, JAVA_OPTS는 Tomcat과 관련된 모든 Java 애플리케이션에 영향을 준다는 것이 주요 차이점이다.
참조
https://typing-has-no-ear.tistory.com/24
https://www.baeldung.com/tomcat-catalina_opts-vs-java_opts
https://stackoverflow.com/questions/11222365/catalina-opts-vs-java-opts-what-is-the-difference
'CS study > Linux' 카테고리의 다른 글
[CentOS] 표준 시간대 변경 및 NTP를 사용한 동기화 (0) | 2024.04.04 |
---|---|
[Linux] nohup shell script 실행 불가 (0) | 2024.04.02 |