Programing

Tomcat 7 : 초기 힙 크기를 올바르게 설정하는 방법은 무엇입니까?

lottogame 2020. 11. 17. 07:37
반응형

Tomcat 7 : 초기 힙 크기를 올바르게 설정하는 방법은 무엇입니까?


catalina.sh에 다음 줄을 추가하여 tomcat 7 (CentOS, java -version : 1.6.0_25-b06) 인스턴스의 초기 힙 크기를 조정하려고했습니다.

export CATALINA_OPTS="-Xms=512M -Xmx=1024M"

tomcat 시작에 실패하고 catalina.out에 다음 메시지를 기록합니다.

Invalid initial heap size: -Xms=512m
Could not create the Java virtual machine.

이 옵션의 문제점은 무엇입니까?


을 사용해서는 안됩니다 =. 다음을 사용하십시오.

export CATALINA_OPTS="-Xms512M -Xmx1024M"

다음 명령을 사용하여 tomcat7 (Linux 배포판)의 Java 힙 크기를 올바르게 늘리십시오.

echo 'export CATALINA_OPTS="-Xms512M -Xmx1024M"' > /usr/share/tomcat7/bin/setenv.sh

내보낼 필요가 없을 수도 있습니다 . catalina.sh에 다음 줄을 추가하면됩니다 .

CATALINA_OPTS="-Xms512M -Xmx1024M"

setenv.sh가 더 좋습니다. 이러한 구성을 한 시스템에서 다른 시스템으로 또는 한 Tomcat 버전에서 다른 시스템으로 쉽게 이식 할 수 있기 때문입니다. catalina.sh는 Tomcat의 한 버전에서 다른 버전으로 변경됩니다. 그러나 Tomcat의 모든 버전에서 setenv.sh를 변경하지 않고 유지할 수 있습니다.

또 다른 장점은 백업 또는 버전 관리 시스템에 추가하면 변경 내역을 추적하는 것이 더 쉽다는 것입니다. setenv.sh가 기록을 따라 어떻게 변경되는지 살펴보면 자신의 변경 사항 만 볼 수 있습니다. catalina.sh를 사용하면 항상 변경 사항뿐만 아니라 Tomcat의 최신 버전과 함께 제공되는 변경 사항도 볼 수 있습니다.


데비안 배포판의 변경에주의하십시오! 나는 CATALINA_OPTS데비안 7과 그 바람둥이가 더 이상 시작되지 않은 결과 를 변경하려고했습니다 . 따라서 나는 다음 과 같이 JAVA_OPTS대신 속성을 변경 하여이 문제를 해결 CATALINA_OPTS했습니다.

export JAVA_OPTS="-Xms512M -Xmx1024M"

방금 이것을 발견하고 Nathan의 솔루션을 구현했습니다.

줄을 추가합니다 (필요에 따라 값 변경).

export JAVA_OPTS="-Xms512M -Xmx1024M"

/usr/share/tomcat7/bin/setenv.sh로

해당 파일이 존재하지 않으면 생성하고

chown root:root it
chmod 755 it

그런 다음 바람둥이를 다시 시작하고 확인하십시오.

ps aux | grep logging

인스턴스를 선택하고 Java 매개 변수를 표시해야합니다.


'내보내기'키워드를 사용하지 않아도 작동합니다. 이것은 내 setenv.sh (/usr/share/tomcat7/bin/setenv.sh)에 있으며 작동합니다.

OS : 14.04.1-Ubuntu 서버 버전 : Apache Tomcat / 7.0.52 (Ubuntu) 서버 구축 : 2016 년 6 월 30 일 01:59:37 서버 번호 : 7.0.52.0

JAVA_OPTS="-Dorg.apache.catalina.security.SecurityListener.UMASK=`umask` -server -Xms6G -Xmx6G -Xmn1400m -XX:HeapDumpPath=/Some/logs/ -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:SurvivorRatio=8 -XX:+UseCompressedOops -Dcom.sun.management.jmxremote.port=8181 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
JAVA_OPTS="$JAVA_OPTS -Dserver.name=$HOSTNAME"

이것에 좋은 시간을 보낸 후. 나는 이것이 setenv.bat가 어떻게 생겼는지 발견했다. 배치 파일에는 "문자가 허용되지 않습니다.

CATALINA_OPTS = -Xms512m -Xmx1024m -XX : PermSize = 128m -XX : MaxPermSize = 768m 설정

echo 안녕하세요 "% CATALINA_OPTS %"


"Tomcat 디렉토리"/ bin 디렉토리로 이동합니다.

Linux이면 setenv.sh를 만들고 Windows이면 setenv.bat를 만듭니다.

setenv. * 파일의 내용 :

export CATALINA_OPTS="$CATALINA_OPTS -Xms512m"
export CATALINA_OPTS="$CATALINA_OPTS -Xmx8192m"
export CATALINA_OPTS="$CATALINA_OPTS -XX:MaxPermSize=256m"

이 다시 시작 후 새 매개 변수로 바람둥이.

설명 및 전체 정보는 여기

http://crunchify.com/how-to-change-jvm-heap-setting-xms-xmx-of-tomcat/


centos 7 시스템 "export CATALINA_OPTS ="-Xms512M -Xmx1024M ""에서 작동하지 않는 경우 vi /etc/systemd/system/tomcat.service 파일에서 힙 메모리를 변경할 수 있습니다.이 값은 ps의 도움으로 tomcat에 표시됩니다. -ef | grep 바람둥이.

참고 URL : https://stackoverflow.com/questions/6897476/tomcat-7-how-to-set-initial-heap-size-correctly

반응형