我在linux服务器上有一个java进程,使用此选项运行:-Dcom.sun.management.jmxremote
所以我不能通过在我的本地电脑上运行的jconsole连接到这个过程(因为没有设置端口和-Dcom.sun.management.jmxremote.ssl = false选项)。
但是,我怎样才能连接到应用程序并在其某些MBean上运行某些操作?这有可能吗?我有一个ssh访问服务器,并能够在服务器上“本地”运行它(但不幸的是不更改选项)
答案 0 :(得分:0)
根据JMX documentation -Dcom.sun.management.jmxremote 选项
Enables the JMX remote agent and local monitoring via JMX connector published on a private
interface used by jconsole. The jconsole tool can use this connector if it is executed by
the same user ID as the user ID that started the agent. No password or access files are
checked for requests coming via this connector.
命名有点不幸,因为它实际上只能启用本地监控。
由于您无法更改选项但可以通过SSH访问服务器,唯一的选择是使用X服务器转发( ssh -X ... )并运行 jconsole (或者更好的是 jvisualvm ,它具有远程运行的特定优化)。