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

Ren*_*neS 18 java debugging tomcat jstack jstat

我们最近从JDK6u20(Linux,32位和64位)升级到JDK6u23.从那时起,我们不能再使用jstackjstat工具从运行过程中获取监控信息.如果我们切换回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一起使用.

任何的想法?感谢帮助.

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

Ren*_*neS 12

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

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

  • 我通过将catalina的临时目录的位置传递给JPS来修复此问题,依此类推:jps -J-Djava.io.tmpdir =/opt/tomcat/instances/solr/temp (3认同)