it-swarm.com.de

Einstellen der Tomcat 5.5 JVM-Speichereinstellungen ohne Verwendung des Konfigurationsprogramms

Ich muss die Tomcat-Speichereinstellungen als Teil einer größeren Installation konfigurieren. Manuelles Konfigurieren von Tomcat mit der Konfigurations-App, nachdem die Tatsache außer Frage steht. Ich dachte, ich könnte einfach die JVM-Speichereinstellungen in die Java_OPTS-Umgebungsvariable werfen, aber ich teste das mit Jconsole, um zu sehen, ob es funktioniert und es funktioniert nicht.

Gemäß dem Kommentar unten funktioniert CATALINA_OPTS ebenfalls nicht. Bisher kann ich das nur über die Tomcat-Konfigurations-GUI erreichen, und das ist keine akzeptable Lösung für mein Problem.

42
red

Serhiis Vorschlag funktioniert und hier sind einige Details.

Wenn Sie im bin-Verzeichnis Ihrer Installation nachsehen, sehen Sie die Skripts catalina.sh Oder .bat. Wenn Sie in diese hineinschauen, werden Sie feststellen, dass sie ein Setenv.sh- bzw. setenv.bat-Skript ausführen, sofern vorhanden, um Umgebungsvariablen festzulegen. Die entsprechenden Umgebungsvariablen sind in den Kommentaren unter top von catalina.sh/bat. Um diese zu verwenden, erstellen Sie beispielsweise eine Datei $ CATALINA_HOME/bin/setenv.sh mit Inhalt

export Java_OPTS="-server -Xmx512m"

Für Windows benötigen Sie in setenv.bat so etwas

set Java_OPTS=-server -Xmx768m

Ich hoffe, das hilft. Glenn

71
Glenn

Erstellen Sie eine Setenv.-Datei (sh | bat) mit den Umgebungsvariablen, die Sie ändern möchten.

Das Catalina-Skript überprüft, ob das Setenv-Skript vorhanden ist, und führt es aus, um die Umgebungsvariablen festzulegen. Auf diese Weise können Sie die Parameter in nur eine Instanz von Tomcat ändern und einfacher in eine andere Instanz kopieren.

Wahrscheinlich hat Ihre Konfigurations-App das Skript "setenv" erstellt, weshalb Tomcat die Umgebungsvariablen ignoriert.

24
Serxipc

Verwenden Sie die Umgebungsvariable CATALINA_OPTS.

5
matt b

Wenn Sie Ubuntu 11.10 und Apache-Tomcat6 verwenden (Installation von apt-get), können Sie diese Konfiguration unter /usr/share/Tomcat6/bin/catalina.sh ablegen.

# -----------------------------------------------------------------------------

Java_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m \
-Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m \
-XX:MaxPermSize=512m -XX:+DisableExplicitGC"

Danach können Sie Ihre Konfiguration über ps -ef | überprüfen Grep Tomcat :)

5
martinusadyh

Praktisch für virtuelle Linux-Maschinen; Verwenden Sie 75% Ihres gesamten Systemspeichers für Tomcat. Yay AWK.

Am Anfang von "{Tomcat} /bin/startup.sh" einfügen

export CATALINA_OPTS="-Xmx`cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.75 } '`k"
3
DrTune

Ich verwende folgende setenv.bat-Inhalte:

==============setenv.bat============

    set Java_OPTS=-XX:MaxPermSize=256m -Xms256M -Xmx768M -Xdebug -Xnoagent  -Xrunjdwp:transport=dt_socket,address=7777,server=y,suspend=n %Java_OPTS%

====================================

Außerdem wird das Debugging aktiviert, der Debug-Port auf 7777 festgelegt und der vorherige Inhalt von Java_OPTS angehängt.

3

Ich mag die Idee, den Tomcat6-Speicher basierend auf verfügbarem Serverspeicher festzulegen (es ist cool, da ich das Setup nach einem Hardware-Upgrade nicht ändern muss). Hier ist mein (etwas erweiterter Speicheraufbau):

export CATALINA_OPTS = "- Xmx`cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.75 } '`k -Xms`cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.75 } '`k -XX: NewSize = `cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.15 } '`k -XX: MaxNewSize = `cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.15 } '`k -XX: PermSize = `cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.15 } '`k -XX: MaxPermSize = `cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.15 } '`k"

Setzen Sie es in: "{Tomcat} /bin/startup.sh" (z. B. "/ usr/share/Tomcat6/bin" für Ubuntu 10.10).

2

Zum vorherigen Kommentar wird hinzugefügt, dass die Dokumentation für das Befehlszeilentool zum Aktualisieren der Tomcat-Diensteinstellungen (wenn Tomcat als Dienst unter Windows ausgeführt wird) hier ist. Dieses Tool aktualisiert die Registrierung mit den richtigen Einstellungen. Wenn Sie also die Einstellung für den maximalen Arbeitsspeicher für den Tomcat-Dienst aktualisieren möchten, können Sie dies (aus dem Tomcat/bin-Verzeichnis) mit dem Standarddienstnamen von Tomcat5 ausführen:

Tomcat5 //US//Tomcat5 --JvmMx=512
2
Cozzman

Wenn Sie Tomcat unter Windows ausführen, können Sie die praktische Anwendung "Tomcat Monitor" verwenden, die im Lieferumfang von Tomcat enthalten ist.

Gehen Sie zur Registerkarte Java. Unten im Textbereich "Java-Optionen" finden Sie 3 Eingabefelder:

  • Anfangsspeicherpool_ __ MB
  • Maximaler Speicherpool_ __ MB
  • Gewindestapelgröße_ ____ KB
1

Nicht sicher, dass es eine für Sie anwendbare Lösung sein wird. Die einzige Möglichkeit für die Überwachung der Tomcat-Speichereinstellungen sowie die Anzahl der Verbindungen usw., die für uns tatsächlich funktioniert, ist Lambda Probe .

Es zeigt die meisten Informationen, die wir für das Tomcat-Tunning benötigen. Wir haben es mit Tomcat 5.5 und 6.0 getestet und funktionieren trotz Beta-Status und Datum der letzten Aktualisierung Ende 2006 einwandfrei.

1
FoxyBOA

Wenn Sie Tomcat manuell starten (nicht als Dienst), ist die Umgebungsvariable CATALINA_OPTS der richtige Weg. Wenn Sie es als Dienst starten, werden die Einstellungen wahrscheinlich irgendwo in der Registrierung gespeichert. Ich habe Tomcat 6 auf meinem Rechner installiert und die Einstellungen habe ich mit der HKLM\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat6\Parameters\Java-Taste gefunden.

1
kgiannakakis

Bearbeiten Sie einfach Ihr catalina/bin/startup.sh-Skript. Fügen Sie die folgenden Befehle hinzu: 

#Adjust it to the size you want. Ignore the from bit.
export CATALINA_OPTS="-Xmx1024m"
#This should point to your catalina base directory 
export CATALINA_BASE=/usr/local/Tomcat
#This is only used if you editing the instance of your Tomcat
/usr/share/Tomcat6/bin/startup.sh

Sailab: http://www.facejar.com/member/page-id-477.html

0
Sailab Rahi

In meinem Fall gab es eine Datei /etc/sysconfig/Tomcat5.conf, die alle Einstellungen in /etc/Tomcat5/Tomcat5.conf überschrieb

0
Torge