配置jconsole和jvisualvm的远程连接
配置参数
-Djava.rmi.server.hostname=ip #远程服务的机器的ip地址,启动jconsole或者jvisualvm客户端的机器可以连上这个机器。
-Dcom.sun.management.jmxremote.port=8999 #启动jmx连接的端口。
-Dcom.sun.management.jmxremote.rmi.port=8999 #启动jmx连接的端口,这两个端口配置成相同的。
-Dcom.sun.management.jmxremote.ssl=false #是否使用ssl验证,通常为false。
-Dcom.sun.management.jmxremote.authenticate=false #是否开启校验用户,如果为false就是不开启,可以不输入用户名和密码;如果为true就是开启,必须输入用户名和密码,正常情况下不开启就可以。
-Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password #连接用户的密码文件 ,只有当-Dcom.sun.management.jmxremote.authenticate参数为true时才有用。
-Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access #连接用户的用户文件,只有当-Dcom.sun.management.jmxremote.authenticate参数为true时才有用。
在启动服务的时候把上面的参数加上,如果服务部署在Tomcat中就配置在catalina.sh中,如果服务是以jar包的形式直接启动,就配置在启动脚本中。如下:
jar包形式
nohup java -Djava.rmi.server.hostname=ip -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.rmi.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -cp xxx.jar com.company.Main >>/dev/null &
部署在Tomcat中,在catalina.sh中加上下面的脚本。
JAVA_OPTS=" -Djava.rmi.server.hostname=192.168.192.138 -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.rmi.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
启动服务后,就可以通过jconsole或者jvisualvm链接远程的服务进行性能监控了。