问题描述
启动Tomcat,JConsole 的“本地进程”列表中,为什么独独没有Tomcat呢?无论是在控制台用Startup.bat启动,或者是在Eclispe中用Tomcat插件启动,都看不到。JConsole 的“本地进程”列表是根据什么查找本地Java进程的?Tomcat为什么出不来?知道的麻烦指点一下,非常感谢!
解决方案
关于Jconsole查找本地的java进程,其依据是所有本地启动的java进程,都会有一个相应的vmid,一般情况下和任务管理器中列出的pid相同。可以通过命令行中使用jps命令查看当前运行的java进程和其对应的vmid.启动Java进程之后,会在默认的临时目录下新建一个文件,文件名称即该JAVA进程的vmid.JConsosle能列出的所有本地进程,都是读该目录下的文件得到的。例如我的系统是Win7,默认临时目录是:C:Users【用户名】AppDataLocalTemphsperfdata_【用户名】在该目录下存放所有本地java进程文件。如果你在启动的时候将临时目录改了,JConsole应该就列不出来了。你可以在该目录下查看是否有tomcat的vmid对应的进程文件,以及在代码中通过String str = System.getProperty("java.io.tmpdir"); 查看具体的临时目录被改到哪了,希望可以帮到你。
解决方案二:
改用 jvisualvm试试呢 ?
解决方案三:
http://stackoverflow.com/questions/7711195/monitoring-tomcat-via-jconsole-in-a-local-setting
时间: 2024-09-18 05:34:53