Permgen space Tomcat

trudi

Mitglied
Hi,

Ich muss mehrere Projekte gleichzeitig im webapps Ordner haben, allerdings bekam ich immer den Fehler OutOfMemory PermGen Space.
Jetzt habe ich im Internet gefunden, dass man diesen Speicher hochsetzen kann.
Das habe ich wie folgt getan:

in catalina.sh habe ich folgendes rein kopiert:

Code:
JAVA_OPTS="-Djava.awt.headless=true -Xms256m -Xmx256m -XX:PermSize=256m -XX:MaxPermSize=256m"

Allerdings änder das nichts, ich bekomme immernoch an der selben Stelle den Fehler.

Hab ich was falsch gemacht? Oder hängt der PermGen Space überhaupt nicht so mit den
Projekten im webapps Ordner zusammen?
 

brauner1990

Bekanntes Mitglied
Grundsätzlich hängt das natürlich zusammen, weil ohne webapps kein speicherverbrauch ;-)

Normalerweise geht dem PermGenSpace eine Fehlermeldung vorraus, zusätzlich könntest du aber auch JMX enablen und die Maschine via VisualVm o.ä. Monitoren und DumpOnHeapSpace oder so ähnlich aktiveren.

Die Frage die sich stellt, wieso bekommt er den PermGenSpace ... liegt es an fehlerhafter / schlechter Programmierung oder an einer schier riesigen Masse an webapps, daher die Frage wie viele laufen denn auf dem tomcat?
 
N

nillehammer

Gast
Hab ich was falsch gemacht? Oder hängt der PermGen Space überhaupt nicht so mit den
Projekten im webapps Ordner zusammen?
Kann schon sein. Ich selbst habe solche Fehler mit einer älteren Hibernate-Version bekommen, nachdem ich ein paar mal Webapps redeployt, bzw. im Manager Start/Stop oder Reload geklickt habe. Da hat nur ein Restart des Tomcat geholfen. Hibernate und Tomcat haben sich die Schuld gegenseitig zugeschoben. Ein Update von Hibernate hat den Fehler dann beseitigt.
 

trudi

Mitglied
daher die Frage wie viele laufen denn auf dem tomcat?

6 Projekte mit jeweils 20-30 mb.
3 Stück gehen (webapps hat dann bisschen über 80mb). Sobald aber ein 4. dazu kommt bekomm ich eben den Fehler

Code:
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
	at java.util.concurrent.FutureTask.get(FutureTask.java:111)
	at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:751)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:471)
	at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1453)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:295)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
	at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1381)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1539)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1549)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1528)
	at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.OutOfMemoryError: PermGen space
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2836)
	at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1160)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1668)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
	at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:2011)
	at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:1974)
	at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1863)
	at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1831)
	at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1817)
	at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1218)
	at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:825)
	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:300)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5161)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:897)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:873)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:958)
	at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1599)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.uti

älteren Hibernate-Version

das ist ein älteres Projekt. Weiß nicht welche Hibernate Version benutzt wird. Es ist mal die
hibernate2.jar drin.
Hab jetzt mal die Version 4.1.3 runtergeladen und die hibernate-core-4.1.3-final.jar eingebunden. Der Fehler kommt allerdings torzdem noch
 

FArt

Top Contributor
Permgen geht dir aus, wenn sehr viele Klassen geladen werden müssen. Somit ist es nicht unnormal, wenn (abhängig von der Größe der Applikationen) nach einer bestimmten Anzahl von Applikationen der Speicher dort knapp wird.
Wenn die Applikationen bzlg. Classloading voneinander isoliert arbeiten, werden auch noch u.U. die gleichen Klassen mehrfach geladen, nämlich für jede getrennte Applikation.

Lösung: mehr Speicher, in dem Fall Permgen.
 
M

maki

Gast
Um Environment Variablen zu setzen, sollte man bei Tomcat eine Datei namens $CATALINA_HOME/bin/setenv.(sh|bat je nach system) erstellen und dort die Variablen setzen.
 

trudi

Mitglied
eine Datei namens $CATALINA_HOME/bin/setenv.(sh|bat je nach system) erstellen

also ich hab jetzt einfach eine Textdatei setenv mit dem Inhalt:

Code:
JAVA_OPTS="-Djava.awt.headless=true -Xms256m -Xmx256m -XX:PermSize=256m -XX:MaxPermSize=256m"

erstellt und dann anstatt .txt halt .sh und .bat umbenannt und in den $CATALINA_HOME/bin Ordner gelegt.

Ändert aber nichts, der Fehler kommt immernoch an gleicher Stelle
 

FArt

Top Contributor
Ich vermute, dass der Speicher der PermGen nicht ausreicht. Belegen kann man das nur, wenn man sich mal einen Heapdump ansieht bzw. wenn man die VM mal z.B. mit JVisualVM oder anderen geeigneten Tools monitort.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
OnDemand Heap Space Error Server einrichten und konfigurieren 8
P Problem "Java Heap Space" Server einrichten und konfigurieren 5
KonradN Apache Tomcat Schwachstelle (Versionen 8, 9, 10 und 11) Server einrichten und konfigurieren 0
S Tomcat 9 mit Datasource Realm auf eine H2 Datenbank Server einrichten und konfigurieren 3
D Tomcat context.xml wo ablegen im Projekt? Server einrichten und konfigurieren 3
H Apache Tomcat Installation/Konfiguration arbeitet nicht einwandfrei Server einrichten und konfigurieren 5
S Tomcat Server nicht erreichbar Server einrichten und konfigurieren 21
pkm Lassen sich mit Tomcat bestimmte URL-Patterns verbieten? Server einrichten und konfigurieren 0
B Tomcat Manager: umbebannt, zurückbenannt, jetzt nur noch 403-Fehler Server einrichten und konfigurieren 8
E Tomcat Eclipse Problem Server einrichten und konfigurieren 0
T Tomcat 8 unter STS Server einrichten und konfigurieren 0
K Tomcat - Java-Version? Server einrichten und konfigurieren 5
A Tomcat und JNI Library Server einrichten und konfigurieren 0
K Tomcat: Host Manager -> 404 Server einrichten und konfigurieren 1
K Tomcat: maximale Anmeldeversuche einschränken (funktioniert nicht) Server einrichten und konfigurieren 1
F Tomcat startet Anwendung nicht im Windows-Service-Modus Server einrichten und konfigurieren 1
C [Nagios] Tomcat-Logfile überwachen Server einrichten und konfigurieren 1
T Tomcat 7 JSTL Server einrichten und konfigurieren 0
S Tomcat 6.0.20 sessionCookiePath in context.xml wird ignoriert Server einrichten und konfigurieren 1
I Tomcat Host mit JDBC-Resource Server einrichten und konfigurieren 0
K Tomcat als Service, falsche Farbe Server einrichten und konfigurieren 0
M Tomcat Proxy - erkennt Tomcat httpd.conf Server einrichten und konfigurieren 0
HarleyDavidson Tomcat Instanznamen ändern Server einrichten und konfigurieren 1
R Tomcat und Zertifikat-Import Server einrichten und konfigurieren 0
M Tomcat - Deploy war - Verbindungsfehler Server einrichten und konfigurieren 4
FINF_AW_Alex WebLogic, Glassfish, Tomcat.... Server einrichten und konfigurieren 3
D Daten auf Apache Tomcat Server ablegen, möglich ? Server einrichten und konfigurieren 1
C DataSource mit Tomcat einrichten Server einrichten und konfigurieren 1
T tomcat blockiert Server einrichten und konfigurieren 0
R Verbindung zwischen Apache und Tomcat über mod_jk funktioniert nur sporadisch Server einrichten und konfigurieren 0
MadMG Tomcat via Apache Proxy + Websockets Server einrichten und konfigurieren 4
A Tomcat bekommt keine Schreibrechte für webapps Server einrichten und konfigurieren 6
Q Tomcat-Cluster und Arbeitsspeicher Server einrichten und konfigurieren 4
G Tomcat 7 mit Apache 2 verbinden über mod_jk Server einrichten und konfigurieren 3
P Tomcat unter xampp nachinstallieren Server einrichten und konfigurieren 4
R Cacht Tomcat/axis2 Klassen? Server einrichten und konfigurieren 3
MQue Tomcat PermSpace Server einrichten und konfigurieren 9
Mike90 Tomcat 7 INFO: The APR based Apache Tomcat Native ... Server einrichten und konfigurieren 3
T GlassFish anstatt Apache Tomcat Server einrichten und konfigurieren 29
G Tomcat 6.0 von https auf http umstellen Server einrichten und konfigurieren 2
W Tomcat 7 und Eclipse Birt Viewer 3.7.2 - Datenbankprobleme Server einrichten und konfigurieren 2
P Tomcat Context Server einrichten und konfigurieren 3
H Glassfish auf Tomcat ? Server einrichten und konfigurieren 2
E Tomcat/Jasper checkt nicht mehr auf Änderungen Server einrichten und konfigurieren 4
L Tomcat webapps Pfad nach Eclipse workspace verschieben Server einrichten und konfigurieren 6
F Tomcat Session timeout unendlich Server einrichten und konfigurieren 7
M JBoss und Tomcat Server einrichten und konfigurieren 8
schlingel Tomcat für den Produktiveinsatz Server einrichten und konfigurieren 14
E JSF auf Tomcat ? Server einrichten und konfigurieren 5
X3TitanCore Tomcat Datensynchronisation Server einrichten und konfigurieren 6
G Tomcat außerhalb des Servers nicht erreichbar Server einrichten und konfigurieren 6
P Ständige Fehlermeldungen bei Tomcat 5.5 Server einrichten und konfigurieren 11
A Tomcat in Eclipse Server einrichten und konfigurieren 5
T Apache Tomcat - mehere Instanzen - Session Problem Server einrichten und konfigurieren 7
K Apache2/Tomcat URL umschreiben Server einrichten und konfigurieren 6
M Hardwareempfehlung für TOMCAT Server Server einrichten und konfigurieren 8
ruutaiokwu jasper compiler problem in tomcat!!! Server einrichten und konfigurieren 3
J Tomcat 7 Probleme bei vorhandener context.xml Server einrichten und konfigurieren 1
B Webproject + Tomcat + SSL Server einrichten und konfigurieren 15
P Tomcat sehr langsam Server einrichten und konfigurieren 5
D Tomcat log lesen Server einrichten und konfigurieren 2
K Tomcat von remote nicht erreichbar Server einrichten und konfigurieren 14
W Tomcat 5.5 mit Apache2 + mod_jk (Debian Etch) Server einrichten und konfigurieren 2
S bestimmte user agenten sperren mit tomcat Server einrichten und konfigurieren 5
F Tomcat Klassenlader Server einrichten und konfigurieren 3
G Tomcat https Server einrichten und konfigurieren 3
N Weiterleitung Apache mit Tomcat über mod_jk funktioniert nicht... Server einrichten und konfigurieren 7
F Verständnisfrage zu Tomcat, Apache & mod_jk Server einrichten und konfigurieren 8
S Apache 2.2 und Tomcat 6 - Resource not found Server einrichten und konfigurieren 5
V Keystore Type für Tomcat ändern Server einrichten und konfigurieren 2
E Tomcat und Eclipse Server einrichten und konfigurieren 4
N JSF-Facelets auf Tomcat - ich krieg's nicht hin Server einrichten und konfigurieren 10
G Tomcat socket Connection Server einrichten und konfigurieren 3
I JSF Entwicklung mit Eclipse und Tomcat 6 unter Gentoo Server einrichten und konfigurieren 8
D Tomcat V-Host Context Problem Server einrichten und konfigurieren 3
A Mehrere Tomcat Instanzen auf Basis einer Tomcat Installation Server einrichten und konfigurieren 1
M Tomcat oder Applicationserver Server einrichten und konfigurieren 3
M Tomcat oder sonstiger Webserver für mehrere Projekte Server einrichten und konfigurieren 5
K apache, tomcat mysql einrichten Server einrichten und konfigurieren 6
D Tomcat für SSLv2 konfigurieren Server einrichten und konfigurieren 6
H Tomcat Startseite einrichten Server einrichten und konfigurieren 3
B Tomcat Welcome-Page aus Eclipse nicht erreichbar Server einrichten und konfigurieren 4
0din Webspace mit Tomcat etc. Server einrichten und konfigurieren 4
A Standard-Webapp in Tomcat 6 - wie konfigurierbar? Server einrichten und konfigurieren 3
0din Tomcat unter Eclipse einbinden Server einrichten und konfigurieren 7
X3TitanCore Tomcat installieren Server einrichten und konfigurieren 2
R Fehler beim TOMCAT, davor ging es noch! Server einrichten und konfigurieren 1
E tomcat installation Server einrichten und konfigurieren 4
J Tomcat: shutdown.sh script funktioniert plötzlich nicht mehr Server einrichten und konfigurieren 3
D Tomcat auf anderer Maschine als Eclipse Server einrichten und konfigurieren 8
P maven-tomcat-plugin redeploy funktioniert nicht? Server einrichten und konfigurieren 6
P Tomcat 6.x - context path wird nicht richtig gesetzt durch MAven2 Plugin Server einrichten und konfigurieren 16
GFEMajor Von Tomcat auf JBoss EJB mit Sicherheit Server einrichten und konfigurieren 2
F tomcat deutsch starten Server einrichten und konfigurieren 8
A Tomcat und SLL Client Authentication Server einrichten und konfigurieren 2
P Tomcat Probleme beim einrichten Server einrichten und konfigurieren 2
B TOMCAT AXIS : Probleme bei parallele Requests Server einrichten und konfigurieren 6
R Tomcat: The requested resource () is not available Server einrichten und konfigurieren 8
G Tomcat server.xml einrichten Server einrichten und konfigurieren 1
M Tomcat lib-configuration (axis2, hibernate, logging) Server einrichten und konfigurieren 11

Ähnliche Java Themen

Neue Themen


Oben