톰켓 메모리 증진 방법(java.lang.OutOfMemoryError: PermGen space) :: 개발/일상_Mr.lee

톰켓 메모리 증진 방법(java.lang.OutOfMemoryError: PermGen space)

Posted by Mr.mandu.
2017. 10. 20. 07:30 개발/was

에러 : java.lang.OutOfMemoryError: PermGen space


약간은 친숙한 에러이다.

사실...로그를 확인하며 에러를 발생하였지만 운영중에 별 문제가 없어 방치해 두기도 하였다.

해결방안을 적어두려고 한다.


해결방안

MaxPermSize를 늘려주면 됨.

기본이 80M로 상기 에러가 발생되면 설정값을 키워주면 된다


또한 메모리가 부족할 경우의 에러 메시지도 있다.

그때는 톰캣의 메모리를 증진 시키면 된다.


catalina.bat 파일을 편집으로 열어 setlocal 을 지우고 

set "CATALINA_OPTS=-Xms512M -Xmx1024M -XX:PermSize=256M -XX:MaxPermSize=512M"

을 입력하고 저장하면 된다.




catalina.bat의 위치는

톰캣 디렉토리 - bin 에 있습니다. 

그리고 setlocal을 검색해보니 다음과 같이 있었습니다.

rem --------------


setlocal


rem Suppress Terminate batch job on CTRL+C

if not ""%1"" == ""run"" goto mainEntry


그리고

java의 heap 메모리는 디폴트 64m인거는 알고 있으나..

톰켓의 디폴트 메모리는 잘모르겠다. 아마 64m일 가능성이 크다.

그러므로 미리미리 설정해두는 것이 좋다고 생각한다.


톰켓의 설정을 변경하게 되면 서비스를 재시작 해야 합니다.