IT/IT Tips

catalina.sh 튜닝 LOGGING_MANAGER 뒤에 설정 추가

다파라파라 2024. 11. 14. 09:24

catalina.sh 파일에서 LOGGING_MANAGER 뒤에 다음과 같은 JVM 옵션들을 추가하는 이유는 각각의 옵션이 특정 성능 개선이나 관리 기능을 제공하기 때문입니다:

LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms1024m -Xmx4096m -Dcom.sun.management.jmxremote"
 

 

각 옵션의 의미

  1. -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
    • 목적: Tomcat에서 기본 제공하는 JULI (Java Utility Logging Interface)를 사용하여 로깅을 관리하도록 설정합니다.
    • 효과: Tomcat은 자체적으로 JULI를 사용하여 로그를 관리하며, ClassLoaderLogManager는 클래스 로더 기반의 로깅 환경을 제공합니다. 이를 통해 각 웹 애플리케이션의 로그를 독립적으로 설정할 수 있어 로그 관리가 편리해집니다.
  2. -Xms1024m (Initial Heap Size)
    • 목적: JVM 힙 메모리의 초기 크기를 1024MB로 설정합니다.
    • 효과: 초기 메모리 크기를 1024MB로 고정함으로써 애플리케이션 시작 시 자원을 충분히 할당하고, 메모리 확장을 최소화하여 안정적인 성능을 유지하도록 합니다. 힙 메모리를 적절하게 설정함으로써 애플리케이션이 대용량 트래픽을 처리할 때 메모리 부족으로 인한 성능 저하를 방지할 수 있습니다.
  3. -Xmx4096m (Maximum Heap Size)
    • 목적: JVM 힙 메모리의 최대 크기를 4096MB로 설정합니다.
    • 효과: 애플리케이션이 사용할 수 있는 최대 메모리 크기를 제한하여 메모리 누수로 인한 시스템 불안정성을 방지합니다. 최대 힙 크기를 넉넉히 설정하면, 애플리케이션이 고부하 상황에서도 메모리 부족 없이 안정적으로 작동할 수 있습니다.
  4. -Dcom.sun.management.jmxremote (Enable JMX Remote Management)
    • 목적: JMX (Java Management Extensions) 원격 관리 기능을 활성화합니다.
    • 효과: JMX를 통해 원격에서 JVM을 모니터링하고 관리할 수 있습니다. 이 기능을 사용하면 JVM의 메모리 사용량, 스레드 상태, GC 활동 등을 원격으로 실시간으로 모니터링할 수 있으며, 이는 시스템의 상태를 파악하고 성능을 분석하는 데 유용합니다. 예를 들어, JConsole이나 VisualVM과 같은 모니터링 도구를 사용해 원격으로 접속할 수 있습니다.

요약

이러한 JVM 옵션을 추가하는 것은 주로 메모리 관리원격 모니터링을 위한 것입니다:

  • -Xms 및 -Xmx 옵션을 통해 적절한 메모리 용량을 설정하여 성능을 최적화하고, 메모리 부족 문제를 방지합니다.
  • -Dcom.sun.management.jmxremote는 JMX를 통해 원격에서 JVM을 모니터링할 수 있도록 하여, 실시간으로 시스템 상태를 파악하고 문제 발생 시 빠르게 대응할 수 있게 합니다.

이 설정은 주로 고성능을 요구하는 서버 환경에서 JVM을 효율적으로 관리하고 안정적인 상태를 유지하기 위한 목적으로 사용됩니다.

728x90
반응형