VisualVM远程监控Java

1、服务器启动jstatd服务设置:

  jstatd将使用RMISecurityPolicy,并且需要指定安全策略文件. 安全策略文件必须符合安全策略语法,通过命令

  jstatd -J-Djava.security.policy=file指定策略文件。以下的安全策略配制是可以访问所有代码库.

  grant codebase "file:${java.home}/../lib/tools.jar" {

                    permission java.security.AllPermission;

              };

  保存上面3行安全策略,保存在文件名为statd.all.policy文件到$JAVA_HOME/bin中。通过下面命令启动jstatd就可以使用安全策略.

  jstatd -J-Djava.security.policy=jstatd.all.policy

 

2、服务器启动jstatd服务

  rmiregistry 2020 & jstatd -J-Djava.security.policy=jstatd.all.policy -p 2020

 

3、服务器启动jmx服务。在启动java程序时加上如下几个参数

  • -Dcom.sun.management.jmxremote
  • -Dcom.sun.management.jmxremote.ssl=false
  • -Dcom.sun.management.jmxremote.authenticate=false
  • -Dcom.sun.management.jmxremote.port=2020
  • -Djava.rmi.server.hostname=客户端IP  #这行可不要

例如:

java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=2020 -jar spider-robot.jar

  如果想启动authenticatessl参数,详情查看 http://softbeta.iteye.com/blog/1264833

4、Linux查看端口使用情况

  netstat -anp|grep 2020

 

5、查看服务器Java虚拟机运行中的进程状态

  jps localhost:2020

 

6、客户端测试是否启动正常

  telnet 192.168.1.105 2020

 

7、查看jstatd服务的进程id (pid)

  ls -l | grep jst

原文地址:https://www.cnblogs.com/wujinhong/p/7646218.html