java - jstack正常工作两周后失败

标签 java jstack

我已经基于 java:7-jdk docker 镜像对 tomcat 7.0.73 进行了 docker 化。

我有一项工作,每 5 分钟使用命令 jstack 1 进行线程转储。它正常工作大约两周,然后崩溃并显示消息:

无法打开套接字文件:目标进程未响应或 HotSpot VM 未加载。当目标进程没有响应时可以使用-F选项 退出代码为 1。

造成这种行为的原因是什么?

JVM 保持正常工作。空间看起来也正确。

java -版本 java版本“1.7.0_111” OpenJDK 运行时环境 (IcedTea 2.6.7) (7u111-2.6.7-2~deb8u1) OpenJDK 64 位服务器虚拟机(内部版本 24.111-b01,混合模式)

已使用的文件系统大小可用使用%安装于 /dev/mapper/docker-202:1-xxx 10G 1013M 9.1G 10%/ tmpfs 3.9G 0 3.9G 0%/dev tmpfs 3.9G 0 3.9G 0%/sys/fs/cgroup /dev/xvda1 99G 68G 31G 69%/tmp shm 64M 0 64M 0%/dev/shm

最佳答案

我怀疑某个进程可能正在清除 /tmp 中的旧文件,并且它正在使用相关的 /tmp/.java_pid 套接字文件(这是必需的)通过 jstack 等实用程序。)下次发生这种情况时,请查看相关文件是否仍然存在 - 如果不存在,那么这就是您的问题。

关于java - jstack正常工作两周后失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47270135/

相关文章:

java jstack工具内存不足或附加权限不足

java - Java 1.5 的 JStack?

java - 转储文件中的特殊 java 线程

java - JAXB : trouble in unmarshelling field of type List<String> with @XmlAttribute

java - 如果我总是在带有 varchar 的准备语句中设置 null 会发生什么?

java - Hibernate (PostgreSQL) 与 jdbc 相比,外键上的慢速选择查询 WHERE 子句

Liferay 模块(OSGi 包)保留在 "Stopping"

java - 为什么Java中的本地类不能有静态方法?

java - 如何在 Java (Swing) 中使用 GridBagLayout 在我的框架中生成此特定图像?

java - jstack - 不包含线程堆栈跟踪