Ich arbeite mit Tomcat 6.0 und während ich indiziere (nicht während ich Tomcat starte), habe ich einen Permgen Space Fehler.
Wie könnte ich diesen Raum vergrößern?
Vielen Dank
Ich arbeite mit Tomcat 6.0 und während ich indiziere (nicht während ich Tomcat starte), habe ich einen Permgen Space Fehler.
Wie könnte ich diesen Raum vergrößern?
Vielen Dank
Antworten:
Sie können verwenden:
-XX:MaxPermSize=128m
um den Raum zu vergrößern. Dies verschiebt aber meist nur das Unvermeidliche.
Sie können auch die Speicherbereinigung für PermGen aktivieren
-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled
Normalerweise tritt dies bei vielen erneuten Bereitstellungen auf. Ich bin überrascht, dass Sie so etwas wie Indizierung verwenden. Verwenden Sie virtualvm oder jconsole, um den Perm-Bereich zu überwachen und zu überprüfen, ob er nach dem Aufwärmen der Indizierung abfällt.
Vielleicht sollten Sie in Betracht ziehen, zu einer anderen JVM wie der IBM JVM zu wechseln. Es hat keine permanente Generation und ist gegen dieses Problem immun.
Für Tomcat können Sie den permGem-Speicherplatz mithilfe von erhöhen
-XX:MaxPermSize=128m
Dazu müssen Sie eine Datei mit dem Namen setenv.sh im Ordner tomcat / bin erstellen (falls noch nicht vorhanden) und die folgende Zeile einfügen
export JAVA_OPTS="-XX:MaxPermSize=128m"
Referenz: http://wiki.razuna.com/display/ecp/Adjusting+Memory+Settings+for+Tomcat
export JAVA_OPTS="-XX:MaxPermSize=128m"
arbeitete für mich mit Clojure + lein repl
Sie können es auch über die VM-Argumente in Ihrer IDE erhöhen. In meinem Fall verwende ich Tomcat v7.0, das unter Eclipse ausgeführt wird. Doppelklicken Sie dazu auf Ihren Server (Tomcat v7.0). Klicken Sie auf den Link "Startkonfiguration öffnen". Gehen Sie zur Registerkarte "Argumente". Fügen Sie -XX: MaxPermSize = 512m zur Liste der VM-Argumente hinzu. Klicken Sie auf "Übernehmen" und dann auf "OK". Starten Sie Ihren Server neu.
Wenn Sie herausgefunden haben, dass die Speichereinstellungen nicht verwendet wurden und um die Speichereinstellungen zu ändern, habe ich tomcat7w oder tomcat8w im Ordner \ bin verwendet. Dann sollte Folgendes angezeigt werden:
Klicken Sie auf die Registerkarte Java und fügen Sie die Argumente hinzu. Starten Sie tomcat neu