728x90

Tomcat 사용할때 JVM 설정

 

✔ Tomcat 을 사용하다 보면 오류가 발생할수도있고 메모리가 많이 필요할수도있다 

[대표적인 오류]

 

Java.lang.OutOfMemoryError: Java heap Space Heap size error
Java.lang.OutOfMemoryError: Permgen space PermGen space error

 

 

✔ 메모리 할당 방법 

 

- tomcat 설치 폴더/bin/catalina.sh 파일에서 자바 옵션을 추가하여 톰캣 메모리 할당 옵션을 지정할수있다.

 

JAVA_OPTS="$JAVA_OPTS -Xms512m -Xms512m -XX:MaxPermSize=128m"

아래 설정의 변경으로 사이즈를 원하는대로 설정해 줄 수 있다.

 

  • CATALINA_OPTS: start, run, debug 명령어 구동 시 사용되는 자바 런타임 옵션에 해당한다.
  • 톰캣 자체에서만 사용되는 옵션들만 포함되며 중지 프로세스,버전 명령등으로는 사용해서는 안 됩니다.
  • -Xms: 최소 java heap size 최초 JVM이 로드될 때 부여되는 메모리이다(start size)
  • -Xmx: 최대 java heap size 최대 JVM이 가질 수 있는 메모리이다.(maximum size)
  • -XX:MaxNewSize=: Young Generation의 최대 size
  • MaxPermSize : permenant의 size
vi catalina.sh
실행후

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms256M -Xmx2048M -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512M -XX:MaxPermSize=512M -XX:+DisableExplicitGC"

추가한다.

 

 

 

✔ 메모리 할당 확인

ps -ef | grep java

 

 

* 설정한 옵션이 들어가있음을 확인할수있다.

그외 jmap 등으로 메모리가 제대로 활당되어있는지 확인이 가능하다.

 

https://mylovejs2.tistory.com/95

 

JVM 메모리 사용현황_ jmap

Server 에서 jmap을 이용하여 Jvm 확인하기. ✔ 조회 하고자 하는 프로세스 검색ps -ef | grep tomcat 조회하고자 하는 프로세스 번호를 확인한다. ✔ jmap -heep [프로세스번호]jmap -heap 2456   [조회결과]Ma

mylovejs2.tistory.com

 

728x90

'Web & Server > Tomcat' 카테고리의 다른 글

Centos 기준 Tomcat 자동실행하기.  (1) 2024.10.16

+ Recent posts