티스토리 뷰

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>

 

끝!

 

참조 : www.baeldung.com/spring-boot-heap-size

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30