2016-07-07 20 views
0

(Nicht ein Duplikat, ich habe überall gesucht) Ich benutze Ubuntu-Server und Tomcat7 gab einen PemGenError aus dem Speicher. Dann erhöhte ich den Speicher in setenv.sh Datei mit export CATALINA_OPTS="Xms2048M -Xmx2048M". Fehler verschwand für eine Weile. Aber jetzt erscheint es wieder.Tomcat7 Speicherfehler, auch nach dem Vergrößern der Heap-Größe

  1. Ich verwende Tomcat für OpenMRS.
  2. Ziemlich sicher, dass es nicht so viel Speicher braucht.
  3. Ich laufe OpenMRS in meinem Laptop gut, ohne viel Speicher zuzuordnen.

Jede Lösung für dieses Problem?

+0

Keine Duplizierung, da jede Frage über anfängliche Fehler von nicht genügend Speicher verfügt. Dies geschieht sogar, nachdem der Speicher mehr als genug erhöht wurde. Ich denke, dass das Ansteigen funktionierte, weil der Kater danach für eine Weile gut lief. –

Antwort

1

Sie haben den falschen Speicherpool erhöht. Wenn der Tomcat nicht mehr in PermGen-Speicher ist, wird der Heap nicht helfen. Versuchen Sie -XX:MaxPermSize=128m (Standard ist 64 m).

Als Alternative denken Sie darüber nach, auf Java 8 zu migrieren, das das PermGen überhaupt nicht hat. Stattdessen gibt es einen Metaspace, der (in den Standardeinstellungen) unbegrenzt wachsen würde, solange der Speicher Ihrer Maschine dies zulässt.

+0

Danke, jetzt habe ich nur verstanden, was passiert ist, als ich JAVA_OPTS mit den oben genannten Parametern anstelle von CATALINA_OPTS mit Heap hinzugefügt. –

0

Stellen Sie das Minimum auf 1024M und starten Sie Tomcat neu!

+0

Keine Möglichkeit, mit 'Xms' und' Xmx' zu spielen, hilft mit einem OutOfMemoryError auf dem PermGen ... –

+0

@ piet.t Danke. erhöhen permsize und funktioniert jetzt gut –