Wie man Tomcat's Speicherzuweisung erhöht


Wenn Sie Probleme mit der Leistung von Tomcat haben, ist eine häufige Ursache die fehlende JVM-Speicherzuweisung (Java Virtual Machine). Die Standardeinstellung für die maximale Größe des Heapspeichers ist 64 MB oder 128 MB. Sie können die maximale Heap-Größe von Anwendungen erhöhen, indem Sie den -XmxJVM-Parameter festlegen.

Zum Beispiel können mit -Xmx512mmaximal 512 MB Heap zugewiesen werden für die JVM. Um diesen Parameter anzupassen, klicken Sie mit der rechten Maustaste auf das Symbol Arbeitsplatz und wählen Sie dann die Registerkarte Erweitert. Klicken Sie auf die Schaltfläche Umgebungsvariablen:

Erstellen Sie die Variable CATALINA_OPTS, und legen Sie die Option fest gewünschter Wert, zum Beispiel "-server -Xmx256m".

Wenn Sie unter Linux oder UNIX laufen, gehen Sie zum Terminal und verwenden Sie den Tomcat-Account mit sudo su - tomcatoder einen entsprechenden Account-Namen, abhängig von Ihrer Konfiguration. Sie sollten das Konto verwenden, mit dem Tomcat ausgeführt wird.

Überprüfen Sie sowohl die Umgebungsvariablen CATALINA_OPTSals auch JAVA_OPTS. Setzen Sie die Umgebungsvariablen auf einen höheren Wert. Beispiel: Wenn die Variable JAVA_OPTS mindestens die maximale Heapgröße von 64 MB und 128 MB enthält, erhöhen Sie sie auf 128 MB und 256 MB.

OLD: JAVA_OPTS="-Xms64m -Xmx128m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"
OLD: JAVA_OPTS="-Xms128m -Xmx256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"

Stellen Sie sicher, dass Sie einen maximalen Wert verwenden ist kleiner als die Größe Ihres physischen RAM, sonst wird es auf die Festplatte ausgelagert, was zu mehr Leistungsproblemen führen kann.

Um zu überprüfen, ob die neuen Einstellungen wirksam sind, gehen Sie zur URL Ihres Tomcat-Servers und dann auf Statusklicken:

Unter dem JVM-Abschnitt sollte ein neuer Wert angezeigt werden:

Wenn auf der Seite kein aktualisierter JVM-Speicher angezeigt wurde, versuchen Sie, Tomcat neu zu starten, da Parameteränderungen vor dem Einwirken einen Tomcat-Neustart erfordern. Dies sollte Ihre Probleme mit der schlechten Tomcat-Leistung beheben und außerdem Probleme mit dem Arbeitsspeicher Ihrer serverseitigen Skripts vermeiden. Wenn Sie Fragen haben, lassen Sie uns in den Kommentaren wissen. Viel Spaß!

Zusammenhängende Posts:


9.06.2009