Tomcat 서버 JVM 메모리 설정하기

Tomcat 서버가 종료되는 현상이 발견되어, 서버의 로그를 찾아보니 OutOfMemoryError 가 발생 했다는 것을 확인하였습니다. 검색을 통해서 얻은 부분은 메모리가 누구되었거나 힙 메모리가 부족했을 경우 발생된다고 하는데, 오전 부터 사이트 내 테스트로 인해 메모리 사용량이 급격히 증가하게 되어 발생된 것으로 생각이 들어 JVM 메모리를 늘려 주는 방법을 진행하였습니다.


JVM 메모리 설정

Tomcat은 Java 기반의 웹 서버로, Java 애플리케이션을 실행하기 위해 JVM(Java Virtual Machine)을 사용합니다. 그러므로 JVM의 메모리 설정은 애플리케이션의 성능과 안정성에 중요한 영향을 미칩니다.


catalina.sh 스크립트

Apache Tomcat 서버를 시작, 중지 및 관리하기 위하여 catalina.sh  스크립트를 이용하여 메모리를 설정하였습니다.

JAVA_OPTS="$JAVA_OPTS -Xms256m -Xmx512m -XX:MaxPermSize=128m"

JAVA_OPTS : JVM에 전달하는 다양한 옵션들을 지정하는 환경 변수 입니다. 자바 기반 애플리케이션 서버나 스크립트에서 JVM을 시작할 때 유용하게 사용됩니다.


메모리 설정 옵션

-Xms256m : JVM이 시작될 때 할당할 최소 힙(heap) 메모리 크기를 설정합니다.

-Xmx512m : JVM이 사용할 수 있는 최대 힙 메모리 크기를 설정합니다.

-XX:MaxPermSize=128m : JVM의 PermGen(퍼머넌트 제너레이션) 영역의 최대 크기를 설정합니다.

Leave a Comment