2011-01-28 10 views
11

sto ottenendo il seguente errore "http-9000-5" java.lang.OutOfMemoryError: spazio PermGenjava.lang.OutOfMemoryError: spazio PermGen

org.apache.catalina.core.ApplicationDispatcher invocare GRAVE : Servlet.service() per servlet jsp ha emesso l'eccezione java.lang.OutOfMemoryError: PermGen space.

La mia applicazione usando axis2.I aumentato la dimensione heap 1024mb.But la sua non working.What sarebbe la problem.Solution prega

+1

possibile duplicato di [Come gestire l'errore "java.lang.OutOfMemoryError: PermGen space" (http://stackoverflow.com/questions/88235/how-to-deal-with-java-lang-outofmemoryerror- permgen-space-error) –

risposta

6

Se utilizzi Tomcat come server di Eclipse, vai a Vista server, quindi fai doppio clic su Tomcat, quindi "Apri Avvia configurazione", vai alla scheda Argomenti e dopo aver impostato -Dcatalina.base = "" inserisci questo

-Xms256m -Xmx512m -XX:MaxPermSize=512m -XX:PermSize=128m 
16

PermGen e dimensione heap sono diversi l'uno dall'altro.

è necessario aumentare lo spazio PermGen come questo:

-XX:PermSize=256m 
-XX:MaxPermSize=256m 

aggiungere questo bandiere.

un'occhiata anche a questo: explaining-java-lang-outofmemoryerror-permgen-space e questo: how-to-deal-with-java-lang-outofmemoryerror-permgen-space-error

Spero che questo aiuti.

+0

Queste opzioni sono spiegate un po 'qui: http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html#PerformanceTuning – amos

15

è necessario impostare qualcosa nel vostro gatto argomento

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 
-server -Xms1536m -Xmx1536m 
-XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m 
-XX:MaxPermSize=256m -XX:+DisableExplicitGC" 

Nota: XX: MaxPermSize = 256m

+5

Ricordarsi di mettere questo in un ' script setenv' nella tua directory tomcat/bin /. Per * nix usa uno script 'setenv.sh' con' export JAVA_OPTS = "......" 'e per Windows usa uno script' setenv.bat' con 'set JAVA_OPTS = .....'. – Qwerky

+0

Grazie, mi ha salvato la giornata. –

2

Oltre ad aumentare la dimensione PermGen, provare ad abilitare garbage collection permgen con

-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled 
0

Provare ad aumentare l'allocazione ram per JVM. Dovrebbe aiutare

Fix per Eclipse: È possibile configurare questo a preferenza eclissi come segue

Windows -> Preferenze (su Mac la sua: Eclipse -> Preferenze) Java -> JRE installata Selezionare il JRE e fare clic su Modifica nel campo degli argomenti VM predefiniti digitare --Xms256m -Xmx512m -XX: MaxPermSize = 512m -XX: PermSize = 128m. (o la tua preferenza di memoria, per 1 GB di RAM è il 1024) Fai clic su Fine o OK.