Es sieht aus wieTomcat auf Produktionsserver, PermGen und redeploys
MemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space
ist ein häufiges Problem. Sie können die Größe Ihres zulässigen Bereichs erhöhen, aber nach 100 oder 200 erneuten Bereitstellungen ist dieser voll. Das Verfolgen von Speicherlecks im ClassLoader ist nahezu unmöglich.
Was sind Ihre Methoden für Tomcat (oder einen anderen einfachen Servlet-Container - Jetty?) Auf dem Produktionsserver? Wird der Server nach jeder Bereitstellung einer Lösung neu gestartet?
Verwenden Sie einen Tomcat für viele Anwendungen?
Vielleicht sollte ich viele Jetty-Server auf verschiedenen Ports (oder einem eingebetteten Jetty) verwenden und jedes Mal die Bereitstellung rückgängig machen/neu starten/bereitstellen?
Haben Sie versucht, die Größe des Heapspeichers zu erhöhen? – vsingh
Es ist kein Heap-Größenproblem, aber Klassen Bytecode entladen Problem. Sie sagen, dass Klassen in JVM nicht entladen werden und PermGen-Speicherplatz nicht verwischt wird. –