티스토리 뷰
Springboot에 내장된 Tomcat에 대해 설정하는 방법에 대해 알아보도록 하자. 일반적인 Tomcat을 쓸때는 HeapSize라던지 HeapDump, Log 등등에 대한 설정을 Tomcat 시작 파일인 startup.sh 나 catalina.sh 파일 등에 설정을 하고 사용을 했었다. 하지만 이런 것들은 Embedded Tomcat을 사용하면 별도로 구현하지 않는 이상 사용할 수 없다. 그래서 Embedded Tomcat을 사용할때는 다른 방법이 필요하다. 다행히 여러가지 방법이 있다.
Springboot Embedded Tomcat JVM Option 설정은 Maven 을 사용한다는 가정하에 진행하도록 한다.
1. Springboot 기동시 JVM Argument에 설정하기
- Springboot 1.x
mvn spring-boot:run -Drun.jvmArguments="-Xms2048m -Xmx4096m"
- Springboot 2.x
mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Xms2048m -Xmx4096m"
2. pom.xml maven-plugin에 JVM Argument 설정하기
springboot 1.x 와 2.x 모두 사용가능하다.
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <jvmArguments> -Xms2048m -Xmx4096m </jvmArguments> </configuration> </plugin>
3. java -jar 에 JVM Argument 설정하기
java -Xms2048m -Xmx4096m -jar target/spring-boot-sample.jar
4. .conf 파일 사용하여 JVM Argument 설정하기
conf 파일을 기동할 war or jar 파일과 같은 곳에 파일명이 같게 해서 위치시키고 JAVA_OPTS를 export 해준다.
$ ls spring-boot-sample.conf spring-boot-sample.jar $ cat spring-boot-sample.conf export JAVA_OPTS="-Xms2048m -Xmx4096m"
단 이 파일을 인식하게 하기 위해서는 실행 가능한 jar (fat jar) 를 만들어야 한다. fat jar는 다음과 같이 만든다.
pom.xml
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <configuration> <mainClass>com.sample.oingdaddy.DemoApplication</mainClass> </configuration> </execution> </executions> <configuration> <executable>true</executable> </configuration> </plugin>
끝!
'Server > WAS' 카테고리의 다른 글
Tomcat에 WAR 파일 배포해서 기동하기 (1) | 2021.06.08 |
---|---|
Tomcat Windows에서 구동시 한글 깨지는 현상 조치 (1) | 2021.06.07 |
Tomcat 기동시 메모리 부족(Out of Memory Error) 관련 오류 해결방법 (0) | 2020.09.25 |
WAS 이중화에 따른 Tomcat Session Clustering (0) | 2020.09.25 |
Tomcat Context Path가 / 인 경우 manager 접근방법 (0) | 2020.08.14 |
댓글