자바에서 클래스 메타 정보영역인 PermGen영역에서 OutOfMemoryError 가 나면..

보통 permgen 영역을 넓히면 된다.

 

해결 방법을 소개한다.

1. MaxPermSize을 늘린다.

-XX:MaxPermSize=256m 옵션을 실행할떄 추가한다. 보통 이정도면 꽤 많이 쓰는 것이다. 톰캣이라면, catalina.sh에 추가하면 된다.

 

 

만약 ConcurrentMarkSweep (CmS)  GC를 할 때면, 아래 옵션을 추가해야 한다.. CMS GC때는 반드시 permgen 영역을 gc하지 않는다. 따라서 추가하는 것이 많다. 아무 때나 추가하는 것이 절대 아니다.

 

2. CMSPermGenSweepingEnabled , CMSClassUnloadingEnabled 를 추가한다.

-XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled 옵션을 추가한다.

중요한 것은 ParreleGC

 

'java core' 카테고리의 다른 글

svn과 연동 (svnkit)  (0) 2009.03.25
exception시 어떻게 되는가?  (0) 2009.03.05
PermGen에서의 OutOfMemoryError 발생 대처하기  (0) 2009.02.25
Generic Erasure  (0) 2009.02.24
Java Profiling API 공부 시작..  (0) 2009.02.20
아파치 세션이 계속 있다??  (0) 2009.02.20
Posted by 김용환 '김용환'

댓글을 달아 주세요