我正在将Tomcat 6.0.18作为Windows服务运行。在服务应用程序中,JVM配置为默认,即使用JRE的jvm.dll。
我尝试使用JConsole监视此应用程序,但无法在本地连接到它。我添加了参数-Dcom.sun.management.jmxremote(在使用start.bat脚本启动Tomcat时有效)。但是JVM似乎没有识别该参数。
有一个漂亮的图形用户界面可用于编辑选项,无需在注册表中操作。
打开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
psexec.exe -i -s c:\visualvm\bin\visualvm.exe
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。
localhost:8086
(无需输入用户名和密码)。 - Eddtomcat6.exe
配置面板现在被称为Tomcat7w.exe
。 - Evandro Silva