由于某种原因,我无法使用VisualVM在生产服务器上连接Java pid。

我已经在setenv.sh文件中传递了jvm参数:

export JAVA_OPTS="-Dcom.sun.management.jmxremote=true \
            -Dcom.sun.management.jmxremote.port=9999\
             -Dcom.sun.management.jmxremote.authenticate=false\
             -Dcom.sun.management.jmxremote.ssl=false \
            -Djava.rmi.server.hostname=192.168.1.2"

并将此文件放入$ / usr / share / tomcat7 / bin /目录。
出于身份验证目的,将jmxremote.password和jmxremote.access文件都放在“/ var / lib / tomcat7 / conf /”目录中。
File permissions :

**$sudo chown tomcat7:tomcat7 /var/lib/tomcat7/conf/jmxremote.*** is ensuring that both file owned by tomcat7

**$ sudo chmod 0600 /var/lib/tomcat7/conf/jmxremote.*** //  access right for tomcat7

$ sudo cat jmxremote.password
admin alonegk

$ sudo cat jmxremote.access
admin readwrite

我在开发服务器和本地主机上运行时,同样的东西运行良好。

谢谢您的期待。

最佳答案

请尝试以下方法:

export JAVA_OPTS="-Dcom.sun.management.jmxremote \
            -Dcom.sun.management.jmxremote.port=9999\
             -Dcom.sun.management.jmxremote.authenticate=false\
             -Dcom.sun.management.jmxremote.ssl=false \
            -Djava.rmi.server.hostname=192.168.1.2"

由于身份验证设置为false,因此用户名和密码在这里没有任何意义。

如果要使用用户名和密码,则应附加以下两个字符串:
-Dcom.sun.management.jmxremote.password.file=<PATH>/jmxremote.password
-Dcom.sun.management.jmxremote.access.file=<PATH>/jmxremote.access

10-04 11:45