Permgen 공간 늘리기


88

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

감사


전에 비슷한 질문을 확인했지만 도와주지 않습니다. -XX : NewSize = 2.125m는 어디로 가고 있습니까?
Blanca

답변:


142

당신이 사용할 수있는 :

-XX:MaxPermSize=128m

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

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

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

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

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


감사!! 그러나 나는 그것을 어디에 적어야합니까 ?? 나는 여기에 하나의 flile에서 추측한다 : tomcat / conf 내가 틀렸어 ??
Blanca

1
바람둥이의 경우 이러한 옵션이 연결된 값으로 환경 변수 CATALINA_OPTS를 만들 수 있습니다. 시작 스크립트는 Tomcat을 시작하기 전에 Java 명령 줄에이를 추가합니다. JVM이 이미 구성되어 있으므로 Tomcat 구성에서 수행 할 수 없습니다.
Peter Tillemans

2
FreeBSD라면 /etc/rc.conf 파일에 옵션을 추가하십시오. 먼저 tomcat 시작 스크립트를 읽고 정확한 매개 변수를 찾으십시오.
Brian Knoblauch

3
오픈 JDK에서 7 CMSPermGenSweepingEnabled는 CMSClassUnloadingEnabled 찬성되지 않습니다
페트르 Gladkikh

12

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


1
export JAVA_OPTS="-XX:MaxPermSize=128m"Clojure + lein repl과 함께 일했습니다
Jeff

3

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


3

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

바람둥이 모니터

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


@ Jérémie BI는 이미지를 직접 추가하기에 충분한 평판 포인트가 없습니다.
Kevin STS

0

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.