Tomcat: OutOfMemoryError Permgen Space
Ich bin die Entwicklung einer JSP-Anwendung mit Tomcat 6.
Seit ich hinzufügen, Quartz Scheduler-Framework und die Log4J library zum Projekt, Tomcat starten werfen dieser Ausnahme, wenn die Versetzung.
Habe ich gelesen über das problem verursacht, und jetzt weiß ich, dass mit dem class loader auf.
So, ich denke das problem kann verursacht werden, indem Sie die logger-Bibliothek, laden einige Klassen automatisch.
Wie kann ich mit diesem problem umzugehen?
Es gibt alternativen Weg, um das setup der logger ohne Verwendung von log4j.properties-Datei, um sicherzustellen, dass classloader korrekt.
- Das problem ist, dass Sie nicht genug permgen space für das, was Sie tun möchten. Genau wie alle anderen Antworten auf die gleiche Frage sagen. Klicken Sie hier und Folgen Sie den Anweisungen. Wenn das nicht funktioniert, dann zögern Sie nicht, umbuchen, kopieren Sie den genauen Ausnahme-Nachricht.
- Vote up. Es scheint, dass das problem tiefer ist, dass nur "Speicher erhöhen". Ich werde nett sein, mehr Informationen über workarrounds zu kämpfen Justizgebäude classlader Speicher-Lecks. Ich benutze Pentaho die auch verwendet es durch den Quartz scheduler und leiden, das gleiche problem in devel.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen Weg zu erhöhen Sie Ihre permgen space, indem Sie die folgenden JVM-Argumente, um unten
Aber es wird nur verzögern der OOM Fehler. Wenn Sie rückverlegung wieder und wieder, Sie führen in die permgen aus der Erinnerung wieder. Der Grund erklärt sich sehr deutlich in diesem Artikel, die ich nicht wiederholen hier. http://frankkieviet.blogspot.com/2006/10/classloader-leaks-dreaded-permgen-space.html. Sorry, ich habe nicht einen anderen Weg, um das setup der logger anders um dieses Problem zu vermeiden. In der Praxis habe ich immer erhöhen die MaxPermSize und dann Zyklus server vor der Bereitstellung.