자바에서 클래스 메타 정보영역인 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 |
Generic Erasure (0) | 2009.02.24 |
Java Profiling API 공부 시작.. (0) | 2009.02.20 |
아파치 세션이 계속 있다?? (0) | 2009.02.20 |