2011-10-12 15 views
32

Come posso aggiungere le opzioni jvm (Java virtual machine) in Apache Tomcat 6?aggiungi opzioni jvm in tomcat

C'è una console di amministrazione in tomcat? Ho provato http://localhost:8080/admin ma non ho potuto ottenere nulla da esso.

voglio aggiungere le seguenti opzioni JVM:

-agentpath:C:\calltracer\jvmti\calltracer5.dll=traceFile-C:\calltracer\call.trace,filterFile-C:\calltracer\filters.txt,outputType-xml,usage-uncontrolled -Djava.library.path=C:\calltracer\jvmti -Dcalltracerlib=calltracer5 

risposta

21

Situato nella variabile JAVA_OPTS in [percorso di Tomcat] /bin/catalina.sh. Sotto windows c'è una console dove è possibile configurarla o si usa catalina.bat.

JAVA_OPTS=-agentpath:C:\calltracer\jvmti\calltracer5.dll=traceFile-C:\calltracer\call.trace,filterFile-C:\calltracer\filters.txt,outputType-xml,usage-uncontrolled -Djava.library.path=C:\calltracer\jvmti -Dcalltracerlib=calltracer5 
+9

Almeno in Tomcat sette, questo non è il posto consigliato per le personalizzazioni. Da catalina.sh': "Non impostare le variabili in questo script, ma inseriscile in uno script setenv.sh in CATALINA_BASE/bin per mantenere separate le personalizzazioni". Inoltre, come nota Mitch, 'CATALINA_OPTS' è la variabile più canonica in cui archiviare. –

+2

Per espandere su setenv.sh, ecco una voce di esempio:' export CATALINA_OPTS = "$ CATALINA_OPTS -XX: MaxPermSize = 256m" '(questo aumenterebbe la dimensione massima perm). – idaWHALE

17

Per questo è necessario eseguire l'applicazione "tomcat6w" che fa parte della distribuzione Tomcat standard nella directory "bin". Per esempio. per Windows l'impostazione predefinita è "C: \ Programmi \ Apache Software Foundation \ Tomcat 6.0 \ bin \ tomcat6w.exe". L'applicazione "tomcat6w" avvia una GUI. Se si seleziona la scheda "Java" è possibile inserire tutte le opzioni Java.

È anche possibile passare le opzioni JVM tramite la riga di comando a tomcat. Per questo è necessario utilizzare il comando:

<tomcatexecutable> //US//<tomcatservicename> ++JvmOptions="<JVMoptions>" 

dove "tomcatexecutable" si riferisce alla vostra applicazione Tomcat, "tomcatservicename" è il nome del servizio Tomcat si sta utilizzando e "JVMoptions" sono le opzioni JVM. Per esempio:

"tomcat6.exe" //US//tomcat6 ++JvmOptions="-XX:MaxPermSize=128m" 
+0

Ciò significa che Tomcat dovrà sempre essere avviato come servizio per rendere effettive le modifiche, quindi il primo approccio dovrebbe essere migliore – frewper

28

Come dice Bhavik Shah, si può fare in JAVA_OPTS, ma il modo consigliato (come da catalina.sh) è quello di utilizzare CATALINA_OPTS:

# CATALINA_OPTS (Optional) Java runtime options used when the "start", 
#     "run" or "debug" command is executed. 
#     Include here and not in JAVA_OPTS all options, that should 
#     only be used by Tomcat itself, not by the stop process, 
#     the version command etc. 
#     Examples are heap size, GC logging, JMX ports etc. 

# JAVA_OPTS  (Optional) Java runtime options used when any command 
#     is executed. 
#     Include here and not in CATALINA_OPTS all options, that 
#     should be used by Tomcat and also by the stop process, 
#     the version command etc. 
#     Most options should go into CATALINA_OPTS. 
9

Dopo aver controllato catalina.sh (per Windows utilizzano le versioni .bat di tutto ciò di seguito indicate)

# Do not set the variables in this script. Instead put them into a script 
# setenv.sh in CATALINA_BASE/bin to keep your customizations separate. 

anche questa

# CATALINA_OPTS (Optional) Java runtime options used when the "start", 
#     "run" or "debug" command is executed. 
#     Include here and not in JAVA_OPTS all options, that should 
#     only be used by Tomcat itself, not by the stop process, 
#     the version command etc. 
#     Examples are heap size, GC logging, JMX ports etc 

Quindi creare un setenv.sh sotto CATALINA_BASE/bin (stessa directory in cui risiede il catalina.sh). Modifica il file e imposta gli argomenti su CATALINA_OPTS

Ad es. il file apparirebbe come questo se si voleva cambiare la dimensione heap

CATALINA_OPTS=-Xmx512m 

o nel vostro caso, poiché si utilizza Windows setenv.bat sarebbe

set CATALINA_OPTS=-agentpath:C:\calltracer\jvmti\calltracer5.dll=traceFile-C:\calltracer\call.trace,filterFile-C:\calltracer\filters.txt,outputType-xml,usage-uncontrolled -Djava.library.path=C:\calltracer\jvmti -Dcalltracerlib=calltracer5 

Per cancellare le opzioni aggiunte in seguito solo elimina setenv.BAT/sh

1

se si desidera impostare args JVM su Eclipse che è possibile utilizzare sotto:

vedi sotto due link per realizzarlo:

  1. eclipse setting to pass jvm args to java
  2. eclipse setting to pass jvm args to java and adding to run config on eclipse

E per tomcat è possibile creare un file setenv.bat nella cartella bin di tomcat e aggiungere le righe sottostanti ad esso:

• echo "ciao im setenv di partenza"

• set CATALINA_OPTS = -DNLP.home = $ {} NLP.home -Dhostname = $ {} hostname

Problemi correlati