Tomcat 6.0에서 PermGen 공간 오류 해결
Tomcat 6.0에서 인덱싱 작업 중에 무서운 permgen 공간 오류가 발생할 수 있습니다. 이 문제는 클래스, 메소드 및 기타 메타데이터를 저장하는 영구 생성에 할당된 공간이 부족하기 때문에 발생합니다.
PermGen 공간 늘리기
permgen 공간의 경우 -XX:MaxPermSize 인수를 사용할 수 있습니다. 예를 들어, 다음 명령은 permgen 공간에 128MB를 할당합니다:
-XX:MaxPermSize=128m
대체 솔루션
그러나 단순히 permgen 공간을 늘리는 것은 오히려 일시적인 휴식을 제공합니다. 영구적인 해결책보다 대신 다음 인수를 사용하여 PermGen의 가비지 수집을 활성화하는 것이 좋습니다.
-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled
이 접근 방식을 사용하면 JVM이 PermGen 내에서 사용되지 않는 클래스와 객체를 회수하여 공간 제약을 완화할 수 있습니다.
기타 고려 사항
잦은 재배포로 인해 이 문제가 발생할 수 있습니다. virtualvm 또는 jconsole과 같은 모니터링 도구를 사용하여 PermGen 공간 활용도를 관찰하고 초기 인덱싱 후 안정화되는지 확인하십시오.
문제가 지속되면 IBM JVM과 같은 대체 JVM을 살펴보는 것이 좋습니다. PermGen 기반 Oracle JVM과 달리 IBM JVM은 영구 생성이 필요하지 않으며 이 오류를 방지합니다.
위 내용은 Tomcat 6.0에서 PermGen 공간 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!