Jstack 和 Jstat 停止工作升级到 JDK6u23

发布于 2024-10-19 13:17:58 字数 677 浏览 0 评论 0原文

我们最近从 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。

We recently upgraded from JDK6u20 (Linux, 32bit and 64bit) to JDK6u23. Since then, we cannot longer use the tools jstack and jstat to get monitoring information from the running process. If we switch back to JDK6u20, everything works fine.

We are running Tomcat 6. According to this forum post, others have the same problem:
http://forums.oracle.com/forums/thread.jspa?threadID=2151967&tstart=0

Running simple plain Java processes and using the tools works.

Jstack says: Unable to open socket file: target process not responding or HotSpot VM not loaded The -F option can be used when the target process is not responding.

Jstat says: 19799 not found

Using Jps does not show the running processes at all, so I guess the problem is more of general nature with JDK6u23 and also JDK6u24. It has a new Hotspot engine. Maybe something does not work in conjunction with Tomcat and that Hotspot v19.

Any idea? Help is appreciated.

P.S. Of course, we run that as the same user and we have not changed anything else. Only the JDK.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

陪我终i 2024-10-26 13:17:58

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

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

Found a possible answer in the Oracle forum:

While it's true that 6u23/24 introduce this issue, it's not a bug in jps. Rather a change in behavior of the VM itself. On GNU/Linux Jps and the likes seem to only look at /tmp but not necessarily your CATALINA_TMPDIR. If set or not, try to export CATALINA_TMPDIR=/tmp which translates to "-Djava.io.tmpdir=/tmp" and after restarting the Tomcat process you should see Tomcat's data as "/tmp/hsperfdata_/" and Jps will most likely work again as well.

只是我以为 2024-10-26 13:17:58

请参阅 即使 java 时,jps 也不返回任何输出进程正在运行以获取如何告诉 jps 或 jstat 连接到 Tomcat 的临时目录的指令

See jps returns no output even when java processes are running for an instruction how to tell jps or jstat to connect to Tomcat's temp-dir

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文