Sì, facciamo il profilo delle applicazioni Tomcat.
Vai catalina.bat
o catalina.sh
e questo al vostro JAVA_OPTS
(sto usando Tomcat 6.0.16):
-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
tuo JAVA_OPTS
dovrebbe essere simile
set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties" -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
aggiornato dopo Ryan commento che è meglio usare setenv.sh
. Questo è il mio setenv.sh
per JDK 8. Mancano poche altre impostazioni, ma buone per iniziare.
SUN_JVM_OPTS="
-server \
-XX:MaxMetaspaceSize=3G \
-XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled \
-XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 \
-XX:+ScavengeBeforeFullGC -XX:+CMSScavengeBeforeRemark \
-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=3 -XX:GCLogFileSize=2M \
-XX:+HeapDumpOnOutOfMemoryError \
-Dsun.net.inetaddr.ttl=60 \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=8480 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false"
# Set custom application options here
APPLICATION_OPTS="-Dlog4j.configurationFile=patht-to-log/log4j2.xml -Dlog4j.debug=true "
JVM_OPTS="$GENERAL_JVM_OPTS $SUN_JVM_OPTS"
CATALINA_OPTS="$JVM_OPTS $APPLICATION_OPTS"
echo "Tomcat started with settings "$CATALINA_OPTS
Una volta che si rilascia il setenv.sh
nella directory bin, è possibile vedere i cambiamenti nella console all'avvio.
Ecco un altro passo a passo al profilo applicazioni Tomcat con Visual VM: Trouble shooting application performance with Visual VM
C'è qualcuno che utilizza VisualVM per profilare le applicazioni Tomcat? – rwsimmo
Non vedo una scheda "profilo" quando si effettua la connessione tramite JMX o JStatd. Ho bisogno di versioni speciali di java o jvisualvm? – Jan
Inoltre non vedo una scheda "profilo" quando ci si connette tramite JMX. Questo problema è stato risolto per gli altri? – Glennn