性能问答>windows service下的java进程如何attach?>
1回复
5年前

windows service下的java进程如何attach?



在windows环境下,假设java进程为tomcat。
如果使用startup.bat作为前台进程启动,在不设置jmxremote的情况,用jconsole可以正常连接。原理应该是jconsole对该进程进行了attach,然后loadagent了management-agent.jar,生成一个com.sun.management.jmxremote.localConnectorAddress的service:jmx:rmi地址;
如果是使用tomcat9w.exe(或者tomcat8w.exe等),将tomcat作为windows service进程启动,虽然也是java进程,但是使用jconsole就无法连接了;
作为windows service启动:
image.png
mode为java:
image.png
用户为当前用户(administrator):
image.png
通过任务管理器找到对应的hsperfdata句柄
image.png
将当前tmp目录设置为hsperfdata所在目录,并启动jconsole
image.png
显示如下:
image.png

貌似是因为无法attach到该java进程,从而无法进行load等一系列操作。
请问下各位大神,是否有方法在不设置jmxremote的情况下,对windows service启动的java进程,进行jconsole连接?

4040 阅读
请先登录,查看1条精彩评论吧
快去登录吧,你将获得
  • 浏览更多精彩评论
  • 和开发者讨论交流,共同进步