私はTomcat6.0.18をWindowsサービスとして実行しています。サービスアプレットでは、jvmはデフォルトで構成されています。つまり、JREのjvm.dllを使用しています。
JConsoleでこのアプリケーションを監視しようとしていますが、ローカルで接続できません。パラメータ-Dcom.Sun.management.jmxremoteを追加しました(これは、start.batスクリプトを使用してTomcatを起動するときに機能します)。しかし、jvmはパラメータを取得していないようです。
オプションを編集するための優れたGUIがあり、レジストリをいじくり回す必要はありません。
C:\ Program Files\Apache Software Foundation\Tomcat 6.0\bin\Tomcat6.exeを開きます(またはタスクバーのモニターアイコンをダブルクリックします)。 Javaペインに移動し、引数のリストに以下を追加して、Tomcatを再起動します。
-Dcom.Sun.management.jmxremote -Dcom.Sun.management.jmxremote.port = 8086 -Dcom.Sun.management.jmxremote.ssl = false -Dcom.Sun.management.jmxremote.authenticate = false
その後、JConsoleまたは新しいVisualVMに接続できます。
Jvmoptionsを変更してサービスを操作するための規定の方法は次のとおりです。
http://Tomcat.Apache.org/Tomcat-5.5-doc/windows-service-howto.html
HKLM/Software/Apache Software Foundation/Procrun 2.0 // Parameters/Javaのレジストリにアクセスして、「Options」マルチストリング値を直接編集してみます。
私は主にこの情報を自分自身に記録するために投稿していますが、検証はしていませんが、これも機能するはずです:
http://mysqlandsqlserver.blogspot.com/2010/02/jconsolejmap-and-Tomcat-as-windows.html
TomcatがWindowsサービスとして実行されていて、JVMにローカルに接続する場合は、システムアカウントとしてVisualVMまたはJConsoleを実行する必要があります。 Sysinternals PsExec.exe を使用してこれを実行できます。
psexec.exe -i -s c:\visualvm\bin\visualvm.exe
Catalina.batの上部近くに以下を追加します
set Java_OPTS=%Java_OPTS% -Dcom.Sun.management.jmxremote ^
-Dcom.Sun.management.jmxremote.port=8086 ^
-Dcom.Sun.management.jmxremote.ssl=false ^
-Dcom.Sun.management.jmxremote.authenticate=false
Tomcatを停止して再起動します(明らかに)
Jconsole.exeを実行します。 Tomcatがサービスとして実行されている場合は、jconsole.exeを管理者として実行します。
リモートプロセスを選択し、localhost:8086と入力します