JConsole中为什么看不到本地的Tomcat进程?

启动Tomcat,JConsole 的“本地进程”列表中,为什么独独没有Tomcat呢?

无论是在控制台用Startup.bat启动,或者是在Eclispe中用Tomcat插件启动,都看不到。

JConsole 的“本地进程”列表是根据什么查找本地Java进程的?Tomcat为什么出不来?

知道的麻烦指点一下,非常感谢!

[img]http://dl2.iteye.com/upload/attachment/0091/2231/14b81b73-bff4-3510-9807-c0479e411e14.png[/img]

[img]http://dl2.iteye.com/upload/attachment/0091/2233/ec5895ca-448e-3ca6-9ec8-40364cfe7738.png[/img]

关于Jconsole查找本地的java进程,其依据是所有本地启动的java进程,都会有一个相应的vmid,一般情况下和任务管理器中列出的pid相同。可以通过命令行中使用jps命令查看当前运行的java进程和其对应的vmid.

启动Java进程之后,会在默认的临时目录下新建一个文件,文件名称即该JAVA进程的vmid.
JConsosle能列出的所有本地进程,都是读该目录下的文件得到的。
例如我的系统是Win7,默认临时目录是:C:\Users\【用户名】\AppData\Local\Temp\hsperfdata_【用户名】
在该目录下存放所有本地java进程文件。

如果你在启动的时候将临时目录改了,JConsole应该就列不出来了。你可以在该目录下查看是否有tomcat的vmid对应的进程文件,以及在代码中通过

[code="java"]String str = System.getProperty("java.io.tmpdir"); [/code]查看具体的临时目录被改到哪了,希望可以帮到你。

[url]http://stackoverflow.com/questions/7711195/monitoring-tomcat-via-jconsole-in-a-local-setting[/url]

改用 jvisualvm试试呢 ?