2016-04-13 15 views
0

Ich weiß, dass es tausend Fragen zu diesem Fehler gibt, aber ich habe keine Lösung für mein Problem gefunden. Ich habe drei Web-Anwendungen in einem Server bereitgestellt. Diese Anwendungen werden mit Java, Spring Framework und Hibenate erstellt. Mein Server hat tomcat6 und opendjdk 1.7. Wie ich bereits erwähnt habe, erscheint, nachdem ich meine Anwendungen eine Zeit lang verwendet habe, der OutOfMemoryError: Permgen-Space. In allen Lösungen, die ich diese Änderung de Option MaxPermSize mit dem Befehl vorschlagen lesen:OutOfMemoryError: PermGen Raum - XX: MaxPermSize funktioniert nicht

JAVA_OPTS="-XX:PermSize=256m -XX:MaxPermSize=512m" 

oder

java -XX:PermSize=256m -XX:MaxPermSize=512m 

Ich habe den ersten Befehl auf die Datei tomcat6.conf von meinem Server versucht, und als Datei setenv.sh, Ich habe die zweite direkt in der Befehlszeile versucht, aber keine dieser Lösungen funktioniert. Wenn ich den Befehl:

java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize' 

Die Werte meines PermGen Raum ist die gleiche, bevor ich versuchte, es zu ändern. Ich habe mit de Administrator meines Servers gesprochen und er sagt, dass diese Werte nicht ändern können, weil sie in einem Prozentsatz des gesamten Speichersystems basieren und der einzigartige Weg zur Änderung sie den Speicher des Systems erhöht. Ich bin verwirrt, weil mein Administrator eine Sache sagt und die Lösungen, die ich lese, sagen andere. Kann diese Werte ändern? Wie kann ich den Wert von PermGen erhöhen?

+0

Permgen ist in Java8 entfernt, vielleicht könnten Sie es versuchen? – Antoniossss

+0

Meine Anwendungen sind mit Java 7 getestet. Ich weiß nicht, ob Update die Version von Java kann, dass meine Anwendungen nicht funktioniert für Inkompatibilitäten zwischen Versionen von Abhängigkeiten meiner Anwendungen und Java 8. – battu

+0

Java ist abwärtskompatibel. Das ist nur eine kleine Ausnahme von dieser Regel, aber es ist einfach zu reparieren und wird nur auftreten, wenn Sie Ihre App mit JDK8 auf 1.7 targetieren und auf 1.7 JVM ausführen. http://StackOverflow.com/questions/32954041/concurrenthashmap-crashing-application-compiled-with-jdk-8-butt-targeting-jre-7 – Antoniossss

Antwort

0

Sie erwähnen OutOfMemoryError, aber Sie haben nicht angegeben, dass MaxPermSpace die Ursache innerhalb der Ausnahme ist. Kann es sein, dass dir gerade Heap Memory knapp wird? In diesem Fall sollte es mir -Xmx und -Xms Parameter geben, die gesetzt werden sollten.

Normalerweise, wenn es der PermSpace ist, wird es als Ursache innerhalb der Ausnahme erwähnt.

+0

Entschuldigung für mein Versagen der Spezifikation, aber wie der Titel sagt, der Fehler geht über PermGen Raum – battu