Jstack和Jstat停止了升级到JDK6u23的工作

时间:2011-03-01 19:51:46

标签: java debugging tomcat jstack jstat

我们最近从JDK6u20(Linux,32位和64位)升级到JDK6u23。从那时起,我们再也无法使用工具 jstack jstat 从运行过程中获取监控信息。如果我们切换回JDK6u20,一切正常。

我们正在运行Tomcat 6.根据此论坛帖子,其他人也有同样的问题: http://forums.oracle.com/forums/thread.jspa?threadID=2151967&tstart=0

运行简单的普通Java进程并使用这些工具。

Jstack说:无法打开套接字文件:目标进程没有响应或未加载HotSpot VM当目标进程没有响应时,可以使用-F选项。

Jstat说:19799未找到

使用Jps根本不显示正在运行的进程,所以我猜这个问题更多是JDK6u23和JDK6u24的一般性问题。它有一个新的热点引擎。也许某些东西不能与Tomcat和Hotspot v19一起使用。

有什么想法吗?感谢帮助。

P.S。当然,我们将它作为同一个用户运行,我们没有更改任何其他内容。只有JDK。

2 个答案:

答案 0 :(得分:12)

在Oracle论坛中找到了一个可能的答案:

  

虽然6u23 / 24确实引入了这个问题,但这不是jps中的错误。而是改变VM本身的行为。在GNU / Linux上,Jps和喜欢的人似乎只看/ tmp,但不一定是你的CATALINA_TMPDIR。如果设置或不设置,尝试导出CATALINA_TMPDIR = / tmp,转换为“-Djava.io.tmpdir = / tmp”,并在重新启动Tomcat进程后,您应该看到Tomcat的数据为“/ tmp / hsperfdata_ /”,Jps很可能再次工作。

答案 1 :(得分:4)

有关如何告诉jps或jstat连接到Tomcat的temp-dir的说明,请参阅jps returns no output even when java processes are running