Montag, Januar 20, 2020

Entsprechenden Platz in der catalina.Fledermaus set JAVA_OPTS

Bekam ich die folgende Fehlermeldung

"java.lang.OutOfMemoryError: PermGen space"

In meinem catalina.bat Datei, wo ist die geeignete Stelle für Sie die EINGABETASTE set JAVA_OPTS parameter? Ende der Datei oder an jedem anderen Ort?

5 Kommentare

  1. 30

    Bitte Lesen Sie diese: OutOfMemory-Fehler und stellen Sie sicher, dass Ihre Anwendung nicht den Speicherverlust und eine übermäßige Speicherauslastung.

    Einstellungen zu ändern, erstellen Sie eine Datei namens setenv.bat für windows oder setenv.sh für Linux mit Eintrag wie folgt:

    Windows:

    set JAVA_OPTS="-Xms256m -Xmx512m"

    Linux:

    export JAVA_OPTS="-Xms256m -Xmx512m"

    Setzen Sie einfach dieses(setenv.bat/setenv.sh -) Datei in %CATALINA_HOME%\bin\ Ordner. Ihr Befehl Datei (catalina.bat/catalina.sh) hat bereits eine Anweisung wie folgt:

    Windows:

      if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat"

    Linux:

      if [ -r "$CATALINA_BASE/bin/setenv.sh" ]; then
         . "$CATALINA_BASE/bin/setenv.sh"
      elif [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then
         . "$CATALINA_HOME/bin/setenv.sh"
      fi

    Dieser wird sich um den rest kümmern.

    • CATALINA_HOME Punkte auf Ihr tomcat-Installationsverzeichnis.
  2. 5

    Der richtige Ort ist, um erstellen Sie eine neue Datei in den Tomcat /bin-Verzeichnis neben catalina.Fledermaus, namens setenv.bat und eine set JAVA_OPTS=... es.

    Auf *nix-system wäre es setenv.sh

    catalina.bat/catalina.sh kümmert laufen setenv.bat/setenv.sh wenn es vorhanden ist. Dies ist bereits im Abschnitt 3.4 hier

  3. 5

    Wie andere bereits vorgeschlagen, die Sie verwenden müssen JAVA_OPTS etwas wie:
    JAVA_OPTS="-XX:MaxPermSize=98m". Dies allein wird wahrscheinlich lösen die Probleme, aber wenn Sie die Versetzung eine Menge Zeit und Ihr war/jar ist riesig, Sie traf das memory limit zu.

    In diesem letzten Szenario, etwas normales auf einem test – /devel Maschinen, empfehle ich:

    -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC

    Diese Optionen ermöglichen das entladen der nicht benötigten Klassen.

    Aussehen hier mehr details, vor allem die Kommentare.

  4. 1

    Dies geschah, weil Sie mehrmals umgeschichtet. Sie können erhöhen Sie Ihre perm gen space, aber es wird nur das unvermeidliche hinauszuzögern Fehler.

    Wirst du nur noch den server neu starten. Ich bin mir nicht bewusst, eine Abhilfe.

  5. 1

    In Ihrer Umgebung. Unsere Sie könnte erstellen Sie ein wrapper-Skript, das setzt JAVA_OPTS ruft dann die catalina script.

Kostenlose Online-Tests