如何从远程服务器jvm获取堆转储?
如何从运行在带有WL application server的linux上的远程JVM获取EAP转储 当我在windows机器上本地运行时,我知道如何获取转储。但是,如何从用户验收测试服务器获取转储?提前感谢。您可以使用连接到远程应用程序服务器(应该提前启用),并使用允许进行堆转储的MBean。如何从远程服务器jvm获取堆转储?,jvm,heap-dump,Jvm,Heap Dump,如何从运行在带有WL application server的linux上的远程JVM获取EAP转储 当我在windows机器上本地运行时,我知道如何获取转储。但是,如何从用户验收测试服务器获取转储?提前感谢。您可以使用连接到远程应用程序服务器(应该提前启用),并使用允许进行堆转储的MBean。 您可以使用JConsole或JVisualVM调用MBean操作。 Mike Haller的这篇文章描述了如何在JVisualVM中使用此方法。因为它是一个*nix系统,如果您拥有必要的特权,那么使用SS
您可以使用JConsole或JVisualVM调用MBean操作。
Mike Haller的这篇文章描述了如何在JVisualVM中使用此方法。因为它是一个*nix系统,如果您拥有必要的特权,那么使用SSH协议连接将很容易:
- 连接到远程计算机:
ssh user@remote-machine-ip-address
- 提示输入用户密码后,请输入该密码(该密码应为远程计算机上的用户而不是当前系统用户的密码)
- 使用
实用程序生成堆转储(JDK二进制文件路径应可用于系统路径变量或使用其完整路径):jmap
jmap-dump:format=b,file=cheap.bin
- ssh连接到您的服务器
- 有三个步骤:
ssh@
jmap-dump:format=b,file=
jhat-J-Xmx512m
jhat-端口7401
我写了一篇博客来帮助分析性能问题:我通常使用SSH连接到它,并且do-itJRE没有jmap实用工具,只有JDK附带了jmap。@anjanb感谢您的注释,我已经更新了答案:)
jmap -dump:format=b,file=cheap.bin <pid>