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

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

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

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

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

Jstat说:找不到19799

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

任何想法? 感谢帮助。

PS当然,我们以同一个用户身份运行它,我们没有改变任何其他内容。 只有JDK。

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

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

即使java进程正在运行指令如何告诉jps或jstat连接到Tomcat的temp-dir,请参阅jps返回no输出