Computer >> 컴퓨터 >  >> 소프트웨어 >> 소프트웨어

Tomcat 메모리 할당량 늘리는 방법: JVM 힙 크기 조정 완벽 가이드

Tomcat 성능 저하의 주요 원인, JVM 메모리 부족

Tomcat 사용 중 응답 속도가 느려지거나 성능 문제가 발생한다면, 가장 흔한 원인 중 하나는 JVM(Java Virtual Machine) 메모리 할당량 부족입니다. 기본 설정된 최대 힙(heap) 크기는 64MB 또는 128MB로, 실제 운영 환경에서는 턱없이 부족한 경우가 많습니다.

이 문제는 -Xmx JVM 파라미터를 조정하여 애플리케이션의 최대 힙 크기를 늘리는 것만으로도 간단히 해결할 수 있습니다.

-Xmx 파라미터란?

-Xmx는 JVM이 사용할 수 있는 최대 힙 메모리 크기를 지정하는 옵션입니다. 예를 들어 -Xmx512m으로 설정하면 JVM에 최대 512MB까지 힙 메모리가 할당됩니다.

Windows에서 환경 변수 설정하기

파라미터를 조정하려면 먼저 [내 컴퓨터] 아이콘을 마우스 오른쪽 버튼으로 클릭한 후 [고급] 탭으로 이동합니다. 이어서 [환경 변수] 버튼을 클릭합니다.

Tomcat 메모리 할당량 늘리는 방법: JVM 힙 크기 조정 완벽 가이드

새로운 CATALINA_OPTS 변수를 생성하고 원하는 값을 입력합니다. 예를 들어 "-server -Xmx256m"과 같이 설정할 수 있습니다.

Linux/UNIX에서 환경 변수 설정하기

Linux 또는 UNIX 환경에서는 터미널을 열고 sudo su – tomcat 명령어로 tomcat 계정으로 전환합니다. 물론 서버 설정에 따라 실제 Tomcat을 구동하는 계정 이름이 다를 수 있으니, 반드시 Tomcat을 실행하는 데 사용되는 계정으로 전환해야 합니다.

그다음 CATALINA_OPTSJAVA_OPTS 두 환경 변수를 모두 확인하고, 값을 더 높게 조정합니다. 예를 들어 JAVA_OPTS가 최소 64MB, 최대 128MB로 설정되어 있다면 각각 128MB와 256MB로 늘리는 식입니다.

OLD: JAVA_OPTS="-Xms64m -Xmx128m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"

NEW: JAVA_OPTS="-Xms128m -Xmx256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"

주의사항: 물리적 RAM 크기보다 작게 설정

최대 힙 크기는 반드시 서버의 물리적 RAM 용량보다 작은 값으로 설정해야 합니다. RAM보다 큰 값을 지정하면 메모리가 하드 디스크로 스왑(swap)되어 오히려 성능이 더 크게 저하될 수 있습니다.

새 설정이 적용되었는지 확인하기

설정 변경 후에는 브라우저에서 Tomcat 서버 URL에 접속한 뒤 Status 항목을 클릭합니다.

Tomcat 메모리 할당량 늘리는 방법: JVM 힙 크기 조정 완벽 가이드

JVM 섹션 아래에 새로운 메모리 값이 표시되는지 확인합니다.

Tomcat 메모리 할당량 늘리는 방법: JVM 힙 크기 조정 완벽 가이드

설정이 반영되지 않았다면?

페이지에 업데이트된 JVM 메모리 값이 보이지 않는다면 Tomcat을 재시작해 보세요. 환경 변수 변경 사항은 Tomcat을 다시 시작해야만 적용됩니다.

이 과정을 통해 Tomcat의 성능 저하 문제를 해결하고, 서버 측 스크립트에서 발생할 수 있는 메모리 부족(Out of Memory) 오류도 예방할 수 있습니다. 추가로 궁금한 점이 있다면 댓글로 남겨주세요!