이클립스에서 톰캣 구동시 다음과 같은 오류가 발생할때가 많은데요.
이클립스에서 소스 수정하면 tomcat에 자동반영되는데 몇번 하다보면 오류가 PermGen 메모리 오류가 발생하네요.
아래 글을 보시면 JVM 구조부터 메모리 종류까지 설명이 잘되어 있어요.
http://joont.tistory.com/42
다음과 같은 오류가 발생하는데요.
여기서 주의하실것은 이클립스가 메모리 부족으로 죽는것은 eclipse.ini를 수정해야 하는것이구요.
여기 글에 설정한것은 tomcat의 메모리 부족을 처리하는것이니 헷갈리면 않됩니다. ㅋㅋ
헷갈리면 귀중한 시간을 날리게 될거니까요.
찾아보면 Tomcat의 catalina.sh 또는 catalina.bat를 수정하라고 하고
conf/web.xml에 leak방지 설정을 추가하라고 하는게 대부분이죠.
하지만 저는 eclipse에 tomcat을 연결해 쓰기 때문에 효과가 없었어요.
구글링해도 자료가 많지 않아서 삽질하지 말라고 올려봅니다.
이럴땐 다음과 같이 해야 합니다.
1. Servers에서 Tomcat v7.0 Server at localhost에 더블클릭하여 우측의 창이 보이도록 한다.
2. Open launch configuration을 선택한다.
다음은 Arguments탭으로 이동해서 빨간 박스의 내용을 추가합니다.
VM에서 기본적으로 Perm Gen메모리를 80메가 정도를 할당하나본데 너무 작아서 금방 가득차기 때문이죠.
앗 타이핑 하기 귀찬다구요? ^^; 그래서 아래 적어놓았어요.
===> -Xms256m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=256m
제가 이렇게 친절해도 제게 돌아오는것은 없지만 그래도 친절하게~ ^^
변경하고 재기동 합니다.
제대로 적용됐는지 보려면 커맨드창에서 jconsole을 쳐서 확인해 봅니다.
JConsole 그래피컬 사용자 인터페이스는, Java Management Extensions (JMX) 스펙에 준거한 감시 툴입니다.
Java 가상 머신 (Java VM)의 광범위한 Instrumentation을 사용해, Java 플랫폼에서 실행되는 어플리케이션의 퍼포먼스와 자원 소비에 관한 정보를 제공합니다.
목록에 catalina가 보이면 선택합니다.
서비스가 올라갔다면 보일거예요.
Memory탭으로 이동해서 Chart를 Perm Gen을 선택하구요.
하단에 Max값이 지정한 만큼 올라갔는지 확인해 보세요. ^^
잘 적용 됬죠? ㅎ
다른 글을 보면
conf/web.xml도 수정하라고 되어 있는데요.
이유는 메모리 leak문제 해결을 위해서 라고 하는데요.
필요하면 다음과 같이 수정합니다.
아래 설정을 추가합니다.
<init-param>
<param-name>enablePooling</param-name>
<param-value>false</param-value>
</init-param>
jsp에 추가하라고 하는것도 있고 글마다 제각각인데요.
이부분은 저도 아직 확인을 못했네요.
확인되면 이글을 수정할께요. ^^;;;
'TIP-서버' 카테고리의 다른 글
OMV(Open Media Vault)에서 고정IP 설정 (0) | 2025.01.16 |
---|---|
mysql 접속시 The server time zone value 'KST' is unrecognized 라고 타임존을 인식하지 못하는 문제 (0) | 2018.07.01 |
이클립스와 톰캣에서 SSL(HTTPS) 설정하기 (0) | 2016.08.21 |