jps没有显示Tomcat进程

时间:2011-06-09 03:57:27

标签: java tomcat

我在Ubuntu 10.10上运行Tomcat 6.0.31并使用tge Sun JDK(java-6-sun)。虽然tomcat正在运行,但是当我运行jps(Java虚拟机进程状态工具)时,它的进程并没有显示出来。我看到的唯一输出是jps进程本身的pid。为什么Tomcat进程不显示?

4 个答案:

答案 0 :(得分:14)

您可能遇到Bug 7009828

在Java 6 Update 23和Java 6 Update 24中,Java在决定放置java.io.tmpdirjps和{{1}所需文件的位置时会考虑jconsole属性检测本地运行的JVM。这意味着将这个系统属性定义为默认值(jvisulavm)之外的每个JVM实例对这些工具都是不可见的。

Tomcat安装特别默认将此属性设置为其安装/tmp文件夹。

所以:要么升级到Java 6 Update 25或更高版本(修复了错误),要么temp启动jps

答案 1 :(得分:2)

可能是因为/tmp/hsperfdata_$USER目录被系统上运行的cron作业删除了吗?有关详细信息,请参阅http://www.semicomplete.com/blog/geekery/jps-shows-nothing-useful.html

答案 2 :(得分:0)

检查你的vm args是否存在-XX:-UsePerfData

如果是,请将其删除,然后重新启动jvm

答案 3 :(得分:0)

检查/ tmp / hsperfdata_ *目录的所有权,如下所示:

ls -ld /tmp/hsperfdata_*

每个目录都归拥有该java进程的用户所有。如果您感兴趣的流程不属于您,那么数据将无法访问。但是,如果以root身份运行jstatd,则它将能够访问所有数据。

sudo jstatd <rest of options...>