一.jconsole
1.1 演示
1.2 远程监控
jconsol若要监控服务器端的jvm,需开启JMX服务
- 开启JMX服务(vm optinos)
-Dcom.sun.management.jmxremote.port=8989 -- 指定端口
-Dcom.sun.management.jmxremote.authenticate=false – 指定是否需要密码验证
-Dcom.sun.management.jmxremote.ssl=false – 指定是否使用 SSL 通讯
-Djava.rmi.server.hostname=192.168.104.25 -- 指定服务器IP,否则远程无法连接(有没有其他方式??)
- jconsole进行远程连接连接
1.3 监控分析
二.jvisualvm
2.1 演示
2.2 远程监控
2.2.1 jmx方式
服务端jmx配置同上1.2节
2.2.2 jstatd方式
jstatd是一个基于RMI(Remove Method Invocation)的服务程序,它用于监控基于HotSpot的JVM中资源的创建及销毁,并且提供了一个远程接口允许远程的监控工具连接到本地的JVM执行命令。
资料:
JAVA JSTATD详解
从懵逼到恍然大悟之Java中RMI的使用
- jstatd安全
-J-Djava.security.policy=file
指定策略文件
保存文件名jstatd.all.policy
,如下安全策略可以访问所有代码库
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
- 启动jstatd
jstatd -J-Djava.security.policy=jstatd.all.policy
或
jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname={服务器IP}
补充,后台运行命令
hohub {命令} &
- jvisualvm连接服务器
2.3 插件
离线插件下载-> 点我
后续,分析。。。。