[java] Permgen 공간 늘리기

나는 tomcat 6.0으로 작업하고 있으며 인덱싱하는 동안 (tomcat을 시작하는 동안이 아니라) permgen 공간 오류가 있습니다.
그 공간을 어떻게 늘릴 수 있습니까 ??

감사



답변

당신이 사용할 수있는 :

-XX:MaxPermSize=128m

공간을 늘리십시오. 그러나 이것은 일반적으로 불가피한 것을 연기합니다.

PermGen을 가비지 수집하도록 설정할 수도 있습니다.

-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled

일반적으로 이것은 많은 재배포를 수행 할 때 발생합니다. 인덱싱과 같은 것을 사용하는 것이 놀랍습니다. virtualvm 또는 jconsole을 사용하여 Perm gen 공간을 모니터링하고 인덱싱 워밍업 후 레벨이 꺼져 있는지 확인하십시오.

IBM JVM과 같은 다른 JVM으로 변경하는 것이 좋습니다. 영구 세대가 없으며이 문제에 영향을받지 않습니다.


답변

tomcat의 경우 다음을 사용하여 permGem 공간을 늘릴 수 있습니다.

 -XX:MaxPermSize=128m

이를 위해 tomcat / bin 폴더에 setenv.sh라는 파일을 만들고 (아직 존재하지 않는 경우) 다음 줄을 포함해야합니다.

   export JAVA_OPTS="-XX:MaxPermSize=128m"

참조 : http://wiki.razuna.com/display/ecp/Adjusting+Memory+Settings+for+Tomcat


답변

IDE의 VM 인수를 통해 늘릴 수도 있습니다. 제 경우에는 Eclipse에서 실행되는 Tomcat v7.0을 사용하고 있습니다. 이렇게하려면 서버 (Tomcat v7.0)를 두 번 클릭합니다. ‘시작 구성 열기’링크를 클릭합니다. ‘인수’탭으로 이동합니다. VM 인수 목록에 -XX : MaxPermSize = 512m을 추가합니다. ‘적용’을 클릭 한 다음 ‘확인’을 클릭하십시오. 서버를 다시 시작하십시오.


답변

메모리 설정이 사용되지 않는다는 사실을 알고 메모리 설정을 변경하기 위해 \ bin 폴더에 tomcat7w 또는 tomcat8w를 사용하면 다음과 같은 팝업이 나타납니다.

바람둥이 모니터

Java 탭을 클릭하고 인수를 추가하십시오.


답변

데비안과 같은 배포판에서는 다음과 같이 설정합니다. /etc/default/tomcat[67]


답변