61

VisualVMツールを使用してTomcatで実行されるアプリケーションのプロファイルを作成したいと思います。残念ながら、VisualVMにTomcatのプロファイルを作成するように指示すると、Tomcatはプロファイルツールに接続していることを示すいくつかのメッセージを出力して、単に終了します。

詳細…</p>

Windows XP、Tomcat 6、VisualVM 1.2.1、およびJDK1.6.0_11を使用しています。

  1. Visual VMで、Tomcatアプリケーションを右クリックし、[プロファイル]を選択します</ li>
  2. [プロファイラー]タブで、[メモリ]ボタン(または[CPU]ボタン)を押します。
  3. Tomcatが終了します

Tomcatアプリケーションを右クリックして、「ヒープダンプ」を選択すると、問題なく動作するように見えることに注意してください。

4

4 に答える 4

87

現在、アプリケーションVisualVMでプロファイリングを行っています。Tomcat次のパラメータをTomcatスタートアップに追加する必要がありました。

-Dcom.sun.management.jmxremote.port=8086
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

Tomcatこれは、を使用した監視に関する優れた記事ですVisualVM

于 2009-12-16T16:27:58.353 に答える
7

はい、Tomcatアプリケーションのプロファイルを作成します。

catalina.batまたはに移動しcatalina.sh、これをあなたに移動しますJAVA_OPTS(私は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

あなたJAVA_OPTSは次のように見えるはずです

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

ライアンのコメントの後に、を使用する方が良いと更新されましたsetenv.sh。これはsetenv.shJDK8の場合です。他の設定がいくつかありませんが、最初は適切です。

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

binディレクトリにドロップするsetenv.shと、起動時にコンソールで変更を確認できます。

VisualVMを使用してTomcatアプリケーションのプロファイルを作成するための別のステップバイステップのチュートリアルは次のとおりです 。VisualVMを使用したアプリケーションパフォーマンスのトラブルシューティング

于 2011-09-19T14:37:05.220 に答える
1

私はTomcat7を使用していますが、完全な構成では、動作するためにより多くのパラメーターが必要です。

-Dcom.sun.management.jmxremote=true 
-Dcom.sun.management.jmxremote.port=9090 # port to connect JMX 
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=50.112.22.47" # IP of the server running tomcat (it is necessary)

ソース: http: //blog.markshead.com/1129/connecting-visual-vm-to-tomcat-7/

于 2016-05-04T09:45:37.060 に答える
0

必要なのは、次のVMオプションを設定することだけです。

-XX:+ UnlockCommercialFeatures -XX:+ FlightRecorder -XX:+ UnlockDiagnosticVMOptions -XX:+ DebugNonSafepoints -XX:FlightRecorderOptions = stackdepth = 512

于 2017-04-15T19:52:14.757 に答える