톰캣에서 서버를 올릴 경우 가끔 memory leak(java.lang.OutOfMemoryError: PermGen space)으로 서버가 종료되는 경우가 있다. Heap size가 부족해서 생기는 에러인데, 아래와 같이 수정한다.
[windows]
Tomcat 설치 폴더 > bin > catalina.bat 수정
[catalina.bat]
해당 bat 파일을 열었다면 아래 코드를 추가한다.
set CATALINA_OPTS="-Xms512m -Xmx1024m"
[옵션값 설명]
- Xms : Inital heap size (초기 메모리 힙사이즈)
- Xmx : Maximum heap size (최대 메모리 힙사이즈)
주의1
이렇게 수정을 하고도 동일한 에러가 발생하는 경우가 있다. 서버를 서비스로 등록하여 아무리 restart를 해도 동일하다.
이는 기존에 생성된 폴더를 삭제하지 않고 수행했기 때문인데, webapps의 서버 폴더를 삭제한 후 실행하면 heap size 수정 사항이 정상적으로 적용되는 것을 확인할 수 있다.
이클립스 메모리 사용량 확인
이클립스에서 서버 돌릴 때 메모리 사용량을 확인하고 싶다면 아래 상태를 체크해주면 된다.
적용 시 하단 상태 바에 메모리 사용량이 뜨게 된다.
Window -> Preference -> General -> Show heap status 체크
참고 사이트
- Tomcat Heap size 설정하기 - 네이버 블로그
- Tomcat 실행시 java heap size 설정 - GisHolic
- [Eclipse] 이클립스 메모리 사용량 확인 - 플린 티스토리
[Tomcat] 톰캣 버전 확인 (0) | 2015.11.23 |
---|---|
[Eclipse] PlugIn - Properties Editor (0) | 2015.11.23 |
[Eclipse][Error] The import org.apache.commons cannot be resolved (0) | 2015.11.23 |
NFC, RFID, 바코드, 블루투스, MST (0) | 2015.05.18 |
[Server] Server Push 개념 (0) | 2015.02.27 |
댓글 영역