728x90
반응형
프로그램을 개발하다 보면 자바 OOME(OutOfMemory)를 겪어 본적이 있을 것 같은데요.
OOME(Out Of Memory Error)는 JVM의 메모리가 부족하여 발생한 에러 입니다.
OOME는 자바의 일반적은 오류와 달리 대응이 쉽지가 않습니다.
오류를 해결하기 위해 JVM Option으로 덤프 파일을 생성한 후 덤프 파일을 분석하여 해결을 해야 합니다.
짧은 시간으로 오류를 찾기는 쉽지 않습니다.
그래서 OOME발생시 JVM옵션을 이용하여 톰캣 자동으로 시작할 수 있는데요.
JVM의 OnOutOfMemoryError 옵션을 사용하여 OutOfMemroy 발생 이후에 특정 동작을 지정하면 됩니다.
1) 톰캣의 catalina.sh 실헹
: CATALINA_OPTS의 아래 옵션을 추가합니다.
CATALINA_OPTS="-Djava.awt.headless=true -server -Xms2048m -Xm2048m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -XX:OnOutOfMemoryError=/app/serviceRestart.sh |
2) 재시작 쉘 스크립트 생성
#!/bin/sh export JAVA_HOME=/usr/local/java export PATH="$PATH:$JAVA_HOME/bin" export CATALINA_HOME=/usr/local/tomcat8 # 톰캣 서비스 다운 /app/tomcat8/bin/shutdown.sh #시간은 서비스 기동 시간에 따라 조절. sleep 60 # 톰캣 서비스 시작 /app/tomcat7/bin/startup.sh |
shutdwon.sh로 서비스가 중단이 안되는 경우 force 옵션을 추가하면 강제로 중지할 수 있습니다.
728x90
반응형
'프로그래밍 > WAS' 카테고리의 다른 글
톰캣 캐시 부족 현상 해결하기 (0) | 2022.10.28 |
---|---|
이클립스 A Tomcat 8.0 installation is expected. 오류 해결하기 (1) | 2020.08.30 |
제우스(JEUS6)서버 JSP 적용 후 컴파일 안되는 경우 (1) | 2020.05.17 |
티맥스 웹투비(webtob) 시작, 종료, 컴파일 방법 (0) | 2019.12.15 |