java.util.gleichzeitige.ExecutionException: java.lang.OutOfMemoryError: PermGen space
jeder Körper
ich bekam Ausnahme, wenn ich das ausführen des server ,ich denke, dass es memory leaks!
ich habe versucht, viele Werte der parameter JAVA_OPS und immer noch Ausnahme!!!!!
In der Konsole bekam ich diese Ausnahme können Sie sehen, wie unten!
Nov 18, 2013 2:48:48 PM org.apache.catalina.startup.HostConfig deployDescriptors
SEVERE: Error waiting for multi-thread deployment of context descriptors to complete
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space
at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:578)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1401)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:317)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:347)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1140)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.OutOfMemoryError: PermGen space
Exception in thread "main" java.lang.OutOfMemoryError: PermGen space
Ist wahrscheinlich ein problem mit Tomcat. Es hat einen guten Ruf für undicht, wenn die Klasse loader beteiligt sind....
Wann ist es passiert, was machst du? Einfaches hinzufügen von Speicher-und einige mehr Speicher ist nicht die Lösung des Problems nur verzögern.
Wann ist es passiert, was machst du? Einfaches hinzufügen von Speicher-und einige mehr Speicher ist nicht die Lösung des Problems nur verzögern.
InformationsquelleAutor SW Engineer | 2013-11-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es immer sinnvoll, angeben, welche "viele Werte" sind, dass du das schon versucht hast.
Erstens: Sie müsste die
JAVA_OPTS
, aber das könnte auch ein Tippfehler ist nur in dieser Frage. Jedoch, es ist sogar besser zu bedienenCATALINA_OPTS
.Wichtigste, wenn es PermGen-Fehler,
-Xmx
überhaupt nicht helfen. Sie möchten-XX:MaxPermSize=256m
(oder einen anderen Betrag von Speicher). Finden Sie eine Vielzahl von Informationen über dieses Problem, wenn Sie nur google die Fehlermeldung - der PermGen ist, dass ein bestimmter Bereich des Speichers, der Sun/Oracle-JVM verwendet. Die Erhöhung der verfügbaren Heap-Speicher überhaupt nicht helfen.InformationsquelleAutor Olaf Kock
Ich finde, dass dies auch passiert mit GlassFish, eine andere Java-Application Server. In der Regel haben wir an den Application Server neu starten freien Sie alle Speicher und Ressourcen, die der Anwendungsserver verwendet. Die meisten Java-Application-Servern wie GlassFish und Tomcat, kann sehr Speicher hungrig. Möchten Sie vielleicht fügen Sie die folgende Zeile zu Ihrer catalina.sh Datei (oder eine andere catalina config-Datei) ändern Sie die JVM-Parameter und das könnte erhöhen Sie die Speicherzuordnung:
InformationsquelleAutor blackpanther
Was ist der Sinn von mehr Speicher mit den aus der Analyse der Ursache. Ich würde vorschlagen, versuchen Sie es mit einigen profiling-tools(JProfiler, YourToolkKit), fangen die problem Kerl.
Sobald Sie eine Idee haben, über das, was verursacht Problem, Sie können arbeiten ( wie z.B.: Offene verbindungen, nicht geschlossene streams etc)
viel Glück.
InformationsquelleAutor Satheesh Cheveri
In linux erstellen setenv.sh Datei und halten Sie die Datei in
tomcat/bin
Ordner.Fügen Sie folgende Zeile in die Datei und speichern Sie es.
Nun starten Sie tomcat neu , Sie sind in Ordnung, zu gehen..!!
InformationsquelleAutor Abir Khan
Müssen Sie festlegen XX:MaxPermSize in Ihrem tomcat-server, VM-argument wie folgt:
Basierend auf Ihren Speicher auf Ihrem lokalen system, die Sie verändern könnte:
Doppelklicken Sie auf server gehen
open launch configuration
In vm-Argumente
Setzen Sie diese Zeile
-XX:MaxPermSize=2048m
nun starten Sie tomcat neu,
InformationsquelleAutor Usman Yaqoob