# Gelegentlicher Absturz Tomcat Anwendung: PermGen Space



## Mattes (20. Feb 2008)

Hallo, 
kennt jemand diesen Java.lang.OutOfMemoryError: PermGen space  Fehler. Das ist sehr ärgerlich. Er tritt häufig auf, wenn ich in meinem Eclipse  Dynamic Web Project (Tomcat) neu deploye bzw. wenn ich Änderungen an Klassen vornehme und dann speichere (Im Eclipse Menü -> Project-> Build Automatically ist aktiviert)

Neulich ist dieser Fehler allerdings auch im Echtzeitbetrieb bei einem Kunden aufgetaucht. Wie kann man das beheben ?

Danke schonmal.


----------



## Reeny (20. Feb 2008)

Wir machen das immer so:

 Erst den Server sauber runterfahren,
 dann die Dateien auf dem Server ersetzen,
 und dann den Server wieder hochfahren.


----------



## maki (20. Feb 2008)

Mehr Speicher zuweeisen, speziell der PermGen ist recht klein in der Standard Konfiguration.

CATALINA_OPTS="-Djava.awt.headless=true -Xms128m -Xmx128m -XXermSize=128m -XX:MaxPermSize=128m"

Die Werte können bei dir anders sein, kann sein dass du JAVA_OPTS ändern musst anstatt CATALINA_OPTS.

Unter Windows kannst du diese Einstellungen in der setenv.bat machen, unter Linux kommt es darauf an.



			
				Reeny hat gesagt.:
			
		

> Wir machen das immer so:
> 
> Erst den Server sauber runterfahren,
> dann die Dateien auf dem Server ersetzen,
> und dann den Server wieder hochfahren.


Klingt sehr umständlich 

Nachtrag: Mit Jconsole oder lambdaprobe für Tomcat 5.x kannst du denn Speicherbedarf deiner Webapp ermitteln.

Eclipse bekommt bei mir immer ein mindestens ein halbes Gig, und manchmal reicht das auch nicht.


----------



## Guest (20. Feb 2008)

Ok, aber mal dumm gefragt: wo genau kann ich diese einstellungen 
CATALINA_OPTS="-Djava.awt.headless=true -Xms128m -Xmx128m -XXermSize=128m -XX:MaxPermSize=128m" 
vornehmen. hab sowas noch niegemacht :-/


----------



## Mattes (20. Feb 2008)

Hallo nochmal, sorry habe ich überlesen, aber die Datei setenv.bat sagt mir nichts. Sie befindet sich nirgens auf meinem REchner  ???:L


----------



## Atze (20. Feb 2008)

in der catalina.sh in deinem tomcat/bin verzeichnis


----------



## maki (20. Feb 2008)

Die setenv ist zu bevorzugen, das sie erstellt werden muss und daher nicht von einer Neuinstallation überschrieben wird.


----------

