java.lang.OutOfMemoryError: PermGen space
- 작성자 :
- 조*길
- 작성일 :
- 2013-11-26 18:52:35
- 조회수 :
- 952
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
안녕하세요.
비정기적으로 톰캣이 죽어서 원인 분석하고 있는데요.
로그에 아래와 같은 메세지가 뜹니다.
java.lang.OutOfMemoryError: PermGen space
catalina.sh 에 메모리를 아래와 같이 처리했습니다만 마찬가지네요.
export CATALINA_OPTS="-Djava.awt.headless=true -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+DisableExplicitGC"
환경은 프레임2.5 / jdk1.6 /tomcat5.5 입니다.
로그를 보시면 33줄 부터 문제가 생기더니 14시 52분에 톰캣이 죽어서 53분에 되살렸습니다.
32줄 부분을 분석하여 혹시나해서 간단한 예외처리를 했습니다.
원인 분석을 해야하는데,
설정문제일까요 ? 아님 소스문제일까요?
답변부탁드립니다.
비정기적으로 톰캣이 죽어서 원인 분석하고 있는데요.
로그에 아래와 같은 메세지가 뜹니다.
java.lang.OutOfMemoryError: PermGen space
catalina.sh 에 메모리를 아래와 같이 처리했습니다만 마찬가지네요.
export CATALINA_OPTS="-Djava.awt.headless=true -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+DisableExplicitGC"
환경은 프레임2.5 / jdk1.6 /tomcat5.5 입니다.
로그를 보시면 33줄 부터 문제가 생기더니 14시 52분에 톰캣이 죽어서 53분에 되살렸습니다.
32줄 부분을 분석하여 혹시나해서 간단한 예외처리를 했습니다.
원인 분석을 해야하는데,
설정문제일까요 ? 아님 소스문제일까요?
답변부탁드립니다.
A
안녕하세요. 조성길님.
Heap 부분의 Out of memory의 경우 응용프로그램 처리 상에 메모리 활용을 잘못한 경우가 대부분입니다. 그러나 PermGen(Permenant Generation)의 경우 GC의 대상이 되지 않는 클래스, static 객체 등의 정보가 올라가는 곳이기 떄문에, 응용 자체의 문제라기 보다 대상 시스템 규모가 크다고 볼 수 있을 것 같습니다.
이 경우는 불필요한 library, class 등의 정리하시거나 PermSize에 대해 증가해 보셔야 할 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.
Heap 부분의 Out of memory의 경우 응용프로그램 처리 상에 메모리 활용을 잘못한 경우가 대부분입니다. 그러나 PermGen(Permenant Generation)의 경우 GC의 대상이 되지 않는 클래스, static 객체 등의 정보가 올라가는 곳이기 떄문에, 응용 자체의 문제라기 보다 대상 시스템 규모가 크다고 볼 수 있을 것 같습니다.
이 경우는 불필요한 library, class 등의 정리하시거나 PermSize에 대해 증가해 보셔야 할 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.