Tomcat

Jinmin Kim·2020년 3월 12일
0

Windows

catalina.bat

set JAVA_OPTS=-server -Xms2G -Xmx2G -XX:MaxPermSize=2G
(큰따옴표가 들어가지 않음. 유닉스 계열만 큰따옴표가 들어감)

메모리 계산방식

어플리케이션 서버에서 필요한 메모리 계산 방법

  • 계산식 : (MaxProcessMemory - JVMMemory - ReservedOsMemory) / (ThreadStackSize) = Number of threads
  • 메모리 계산 예

가정 : Java 1.5를 사용중이며 OS가 120MB를, 디폴트 스택사이즈는 0.5M
JVM에 1.5GB할당되었을 경우 : (2GB-1.5Gb-120MB)/(1MB) = ~380 threads
JVM에 1.0GB할당되었을 경우 : (2GB-1.0Gb-120MB)/(1MB) = ~880 threads

통계적으로 대략 200명의 동시 사용자 수용할 경우 300MB정도 필요합니다.

이것을 고려해서 메모리를 계산하면 됩니다.

JVM 옵션 정보

-Xms : 최소 힙 싸이즈
-Xmx : 최대 힙 싸이즈
-XX:NewSize : New Generation의 최소 싸이즈
-XX:MaxNewSize : New Generation의 최대 싸이즈
-XX:MaxPermSize : Permanent Generation의 최대 싸이즈 가 되겠다.
-XX:SurvivorRatio : 영역비율(New Generation)

힙이란?

힙 영역은 전역변수나 지역변수처럼 항상 지정된 크기의 메모리를 사용하는 경우가 아닌 프로그램 동작 시 동적으로 할당되는 메모리를 위해 지정된 영역을 말한다. 스택, 힙은 램의 크기만큼 할당할 수 있다.

profile
Let's do it developer

0개의 댓글