jstat形式
一、添加配置文件 jstatd.all.policy
Visual GC提示”不受此JVM支持“,可以使用此方法解决。
一、添加配置文件 jstatd.all.policy
[root@localhost /]# cd /home/ctgcdt/jdk/jdk1.8.0_321/bin/
[root@localhost bin]# vim jstatd.all.policy
grant codebase "file:/home/ctgcdt/jdk/jdk1.8.0_321/lib/tools.jar"
{
permission java.security.AllPermission;
};
注:若没有配置 JDK 环境变量,file 后面添加 tool.jar 的绝对路径
二、启动
$JAVA_HOME/bin下执行以下命令(前台)启动,也可以后台启动命令,默认监听1099端口。
[root@localhost bin]#
./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.1.1 -p 3333 -J-Djava.rmi.server.logCalls=true
./jstatd -J-Djava.security.policy=jstatd.all.policy -p 19998
参数说明:
- -J-Djava.security.policy=jstatd.all.policy =号后面的是文件的绝对路径;
- -J-Djava.rmi.server.logCalls=true 打开日志,如果客户端有连接过来的请求,可以监控到,便于排错;
- -J-Djava.rmi.server.hostname=192.168.134.128 指明本机 hostname 对应的本机地址,确保该地址可以给客户机访问。因为有的服务器 hostname 对应的 ip 不一定是外网能连上的,最好在这里直接明确指定;
- -p 3333 指定服务的端口号,默认是1099。也是可选参数。
注意:后面两个参数可以省略
三、使用 visualvm 以jstat形式连接
jvisualvm 添加 ip 为192.168.1.1 端口为 3333 的远程机器,这样可以使用jstatd方式远程监控JVM。
**四、SpringBoot开启JMX
-Djava.rmi.server.hostname=10.0.15.8
-Dcom.sun.management.jmxremote.port=1099
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
jmxremote.password 在jdk/jre/lib/management/下,jmxremote.password.template复制,去掉.template后缀
在配置JMX远程访问的时候,设置jmxremote.password文件权限,修改该文件时添加写权限,chmod +w jmxremote.password
放开角色信息那俩行的注释,保存,
monitorRole QED
controlRole R&D
再使用chmod 0400 jmxremote.password