我正在使用 VM.command_line 选项运行 jcmd,如下所示,以使 JavaVM 启动命令在服务器中运行。
jcmd {proccessId} VM.command_line
随着时间的推移,这将返回以下错误。
com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file: target process not responding or HotSpot VM not loaded
at sun.tools.attach.LinuxVirtualMachine.<init>(LinuxVirtualMachine.java:106)
at sun.tools.attach.LinuxAttachProvider.attachVirtualMachine(LinuxAttachProvider.java:63)
at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:208)
at sun.tools.jcmd.JCmd.executeCommandForPid(JCmd.java:147)
at sun.tools.jcmd.JCmd.main(JCmd.java:131)
时间取决于 Java VM 上运行的应用程序的内容。在某些环境中,错误会在 10 天内发生,而在其他环境中,错误会在 27 天后发生。
从错误内容 Java 调查时 - AttachNotSupportedException: Unable to open socket file: HotSpot VM not loaded
由非 JavaVM 启动用户的用户执行时发生的错误,该用户在经过一段时间之前和之后都没有更改此事件。由于随着时间的推移发生错误,因此无法确定原因。重新启动Java进程时不会出现上述错误但是,过了一段时间(大约10天),错误再次出现。
我需要帮助,因为我无法确定原因。