개발을 위해 기본적으로 JVM은 다른 성능 관련 기능을 위해 작은 크기와 작은 구성을 사용합니다. 그러나 생산을 위해 조정할 수 있습니다 (예 : Application Server 특정 구성이 존재할 수 있음)-> (요청을 충족시킬 메모리가 충분하지 않고 힙이 이미 최대 크기에 도달하면 OutOfMemoryError가 발생합니다)
-Xms<size> set initial Java heap size
-Xmx<size> set maximum Java heap size
-Xss<size> set java thread stack size
-XX:ParallelGCThreads=8
-XX:+CMSClassUnloadingEnabled
-XX:InitiatingHeapOccupancyPercent=70
-XX:+UnlockDiagnosticVMOptions
-XX:+UseConcMarkSweepGC
-Xms512m
-Xmx8192m
-XX:MaxPermSize=256m (in java 8 optional)
예를 들면 다음과 같습니다. Linux 플랫폼에서 프로덕션 모드 기본 설정.
이 방법으로 서버를 다운로드하고 구성한 후 http://www.ehowstuff.com/how-to-install-and-setup-apache-tomcat-8-on-centos-7-1-rhel-7/
1. / opt / tomcat / bin / 폴더에 setenv.sh 파일을 만듭니다
touch /opt/tomcat/bin/setenv.sh
2.이 모드를 열어서 선호 모드를 설정하십시오.
nano /opt/tomcat/bin/setenv.sh
export CATALINA_OPTS="$CATALINA_OPTS -XX:ParallelGCThreads=8"
export CATALINA_OPTS="$CATALINA_OPTS -XX:+CMSClassUnloadingEnabled"
export CATALINA_OPTS="$CATALINA_OPTS -XX:InitiatingHeapOccupancyPercent=70"
export CATALINA_OPTS="$CATALINA_OPTS -XX:+UnlockDiagnosticVMOptions"
export CATALINA_OPTS="$CATALINA_OPTS -XX:+UseConcMarkSweepGC"
export CATALINA_OPTS="$CATALINA_OPTS -Xms512m"
export CATALINA_OPTS="$CATALINA_OPTS -Xmx8192m"
export CATALINA_OPTS="$CATALINA_OPTS -XX:MaxMetaspaceSize=256M"
삼.service tomcat restart
JVM은 힙보다 더 많은 메모리를 사용합니다. 예를 들어 Java 메소드, 스레드 스택 및 기본 핸들은 JVM 내부 데이터 구조뿐만 아니라 힙과 별도로 메모리에 할당됩니다.