本文介绍了通过 ssh 的 VisualVM的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已阅读通过 ssh 远程可视化 VM 但我想我还没有完全理解,因为它对我不起作用 :-( 请有人举一些例子吗?

I've read Visual VM remotely over ssh but I think I've not fully understood because it was not working for me :-( Please can someone give some example?

ssh -D 9696 [email protected]visualvm.exe -J-Dnetbeans.system_socks_proxy=localhost:9696 -J-Djava.net.useSystemProxies=true 启动了visualvm,但是没有显示外部机器的进程(只有本地的,比如visualvm本身).此外,有时(但并非总是如此)我在 ssh 窗口中收到消息通道 3:打开失败:连接失败:连接被拒绝".

ssh -D 9696 [email protected] and visualvm.exe -J-Dnetbeans.system_socks_proxy=localhost:9696 -J-Djava.net.useSystemProxies=true starts visualvm, but no processes of external machine are shown (only the local ones like visualvm itself). Moreover sometimes (but not always) I got the message "channel 3: open failed: connect failed: Connection refused" in my ssh window.

有什么帮助吗?

推荐答案

您要么需要在远程端运行 jstatd,要么使用 host:port 指定 JMX 连接.

You either need to run jstatd on the remote side, or specify a JMX connection using host:port.

Jstatd:

jstatd -J-Djava.security.policy=permissions.txt [-p 端口]

之后:添加到目标机器的远程连接,并在该远程连接的属性上配置 jstatd 连接.

After that: add a remote connection to the target machine, and on the properties of that remote connection configure the jstatd connection.

(permissions.txt 包含例如:

(permissions.txt contains for example this:

grant {
  permission java.security.AllPermission;
};

(回复评论)

  1. ssh -D 9696 me@remote,并在远程命令行上按上述方式运行 jstatd.如果您希望 jstatd 位于与默认 1099 不同的端口上,请使用 jstatd 的 -p 参数.

  1. ssh -D 9696 me@remote, and run jstatd as above on the remote command line. If you want jstatd to be on a different port than the default 1099, use the -p argument to jstatd.

在本地机器上运行 visualvm.exe -J-Dnetbeans.system_socks_proxy=localhost:9696 -J-Djava.net.useSystemProxies=true

在visual vm中:添加新的远程连接,并指定remote为主机和jstatd的端口(默认为1099,或者你在运行jstatd时用-p指定的)

in visual vm: add new remote connection, and specify remote as host and the port for jstatd (1099 for default, or what you specified with -p when running jstatd)

您现在应该可以在 visualvm 中看到远程端的进程

You should now see the processes on the remote side in visualvm

这篇关于通过 ssh 的 VisualVM的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-29 22:31