Java - AttachNotSupportedException : Unable to open socket file: HotSpot VM not loaded

标签 java linux sockets jvm agent

当试图将代理 jar 文件附加到另一个在 java 中运行的进程时,我遇到了异常:

com.sun.tools.attach.AttachNotSupportedException: 无法打开套接字文件:目标进程无响应或 HotSpot 虚拟机未加载

我正在运行 linux,使用 java Oracle JDK 8_101,但是在回答了这个问题之后我意识到操作系统与这个问题的原因无关紧要。

编辑: 回答:

如果您遇到此问题,我遇到的原因是因为我从不同的 JVM 启动程序,而不是为系统指定的默认 JVM。

即)

程序 A (启动器),正在上运行>JVM-1 (例如 JDK_8_1,或 JDK_8_1/jdk/jre)

Program A (启动器),创建一个进程 < strong>java -jar programB.jar

Program B (The target),运行在系统的默认 JVM,JVM-2(例如 JDK_8_2,或 JDK_8_2/jre)

程序 A (启动器) 不能重视 Program B (目标),因为JVM Program A (启动器) 正在运行,与 的 JVM 不匹配程序 B (目标) 正在运行,因此抛出 com.sun.tools.attach.AttachNotSupportedException:

最佳答案

出现此问题的常见原因:

  • 附加套接字 /tmp/.java_pid1234 已被删除(例如,通过定期清理/tmp 的预定作业)。
  • 目标 JVM 以 -XX:+DisableAttachMechanism 选项启动。
  • 正在进行垃圾收集或其他长时间的 VM 操作(例如堆转储)。
  • JVM 无法在附加超时内到达安全点。这种情况很少发生,而且问题通常是间歇性的。

关于Java - AttachNotSupportedException : Unable to open socket file: HotSpot VM not loaded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48379878/

相关文章:

linux - chroot 如何影响动态库内存使用?

linux - 从网站下载后在文件模式下保留 x 标志

windows - WriteFile 函数的 lpNumberOfBytesWritten 参数

java - 为什么 Spring Web/MVC 不将我的模型属性添加到我的重定向 View 的 URL 中?

java - Java Project Explorer 从 Eclipse IDE 中的何处加载文件

java - maven 部署文件丢失/无效文件和/或 url

java - Eclipse 和多播数据包的奇怪/无法解释的行为

java - java中有抽象变量吗?

javascript - 如何让node js文件在linux中的某个日期的某个时间运行?

c++ - 文件 I/O 与 TCP 套接字,同一机器内数据传输哪个更快?