Windows Tomcat 서버에서 여러 도구를 실행하려고합니다. 서버가 잘 시작하고 Tomcat의 관리자 페이지도 볼 수 있습니다. 그러나 도구를 열면 "OutOfMemoryError : PermGen space"가 발생합니다. 내 catalina.bat의를 MaxPermSize 설정에 많은 노력이 내 CATALINA_OPTS입니다 :MaxPermSize 무시 된 Tomcat 7
set CATALINA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms64m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled"
내 Tomcat 서버 옆에 JVisualVM를 실행하면, 내가 인수가 아니라 선택됩니다 것을 볼 수 있습니다 :
을하지만 모니터 탭으로 가서 PermGen을 확인하면 내 CATALINA_OPTS를 설정 한 512 대신 최대 67MB가됩니다. 그래서 인수를 설정하지만, Tomcat은
는 이미 몇 시간이 문제를 해결하려고 .. 그들을 무시하지만 성공하지 ..
누구입니까?
시도해보고 startup.bat를 실행하면 tomcat 서버 창이 즉시 닫힙니다. 서버가 너무 빨리 닫히기 때문에 서버에서 발생하는 오류는 읽을 수 없습니다. 그리고 네, 명령 프롬프트에서 서버를 시작합니다. 하지만 MaxPermGen 속성은 JVisualVM에 ""가 표시되어 있으므로 CATALINA_OPTS가 괜찮은 것 같습니다. – harmjanr
@harmjanr : 그것이 작동하는 방법이며, 괜찮습니다.하지만 jvisualvm에서 볼 수 있습니다. 당신은 클라이언트 버전을 사용하고 있으며 수정 된 작업은 없습니다 ... 아마도 CATALINA_OPTS를 설정 한 스크립트의 장소일까요? 확실하지는 않지만 문제는 실제로 모호합니다. 명령을 실행하기 직전에 넣었습니다 : CATALINA_OPTS = -Djava.awt.headless = true -Dfile으로 설정하십시오.인코딩 = UTF-8 -server -Xms64m -Xmx512m -XX : PermSize = 128m -XX : MaxPermSize = 512m -XX : + CMSClassUnloadingEnabled -XX : + CMSPermGenSweepingEnabled rem ----- 요청한 명령 실행 ----- ----------------- – DelGurth
나는 오류를 볼 수있었습니다. 그리고 이것은 오류입니다 : "jre/bin/jvm.dll에 server jvm 오류가 없습니다". 그래서 java JDK의 서버 디렉토리를 java JRE 디렉토리에 복사했습니다. 이제 서버는 CATALINA_OPTS 주위에 따옴표없이 시작했으며 512m의 permgen을 가지고 있습니다. 감사! – harmjanr