我正在Ubuntu 10.10上运行Tomcat 6.0.31,并使用Sun JDK(java-6-sun)。尽管Tomcat正在运行,但当我运行“jps”(Java虚拟机进程状态工具)时,其进程不会显示出来。我只能看到jps进程本身的pid。为什么Tomcat进程不会显示出来?
java.io.tmpdir
属性。这意味着每个具有将此系统属性定义为与默认值/tmp
不同的值的JVM实例对这些工具是不可见的。temp
文件夹。-J-Djava.io.tmpdir=/path-to-tomcat-installation/temp
启动jps
。这可能是由于运行在您的系统上的cron作业删除了/tmp/hsperfdata_$USER
目录导致的。有关更多信息,请参见http://www.semicomplete.com/blog/geekery/jps-shows-nothing-useful.html。
jps
输出中消失,而cron作业似乎是罪魁祸首。为什么Java设计者在决定将这些进程文件放在/tmp
目录中时没有考虑到这一点呢? - ADTC检查 /tmp/hsperfdata_* 目录的所有权,方法如下:
ls -ld /tmp/hsperfdata_*
sudo jstatd <rest of options...>
检查您的VM参数是否存在-XX:-UsePerfData
。
如果是这样,请删除它并重新启动JVM。
jps -l
显示的进程列表与sudo jps -l
不同。当Tomcat作为root运行时,我必须使用sudo
才能看到它。 - Lambart