任何想法如何在没有JDK的情况下生成java heapdump? 我能够获取processid,但是我无法直接访问该机器,并且没有安装JDK。
您也可以使用JVM参数-XX:+ HeapDumpOnCtrlBreak 并发送一个SIGQUIT信号(-3为Unix杀死和Ctrl-Break为 Windows)到正在运行的Java进程 - 信号也将创建一个 heapdump而不中止JVM
有更简单的方法吗?以及如何向流程发送SIGQUIT?
感谢您的帮助
答案 0 :(得分:1)
如果您仍然可以通过SSH / telnet访问,则可以使用:
kill -QUIT <pid>
正如你在报价中所描述的那样。
通过JMX访问应用程序的其他选项,即jconsole或jvisialvm
要使用JMX,您需要通过应用程序的命令行启用JMX