您的当前位置:首页正文

VisualVM使用Jstatd和JMX远程监控配置(转载)

2024-12-08 来源:个人技术集锦

一、Jstatd远程监控服务器配置

jstat可以实时显示本地或远程JVM进程中类装载、内存、垃圾收集、JIT编译等数据。如果要显示远程JVM信息,需要远程主机开启RMI支持,详情如下:

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

permission java.security.AllPermission;

};

注:这时候能启动正常,但是后面本地用 jvisualvm 的时候可能抛异常。

据查,有两种方法解决:
一种是把 /etc/hosts中的ip改成实际的IP,然后重启网络。

另一种是,在jstatd后加hostname的参数,如:

./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.1.2

3. 如若出现端口占用问题,在启动jstatd服务器时选择其它端口。

//查看端口是否被占用
netstat -ano | grep -i 1099

//启动jstatd服务器时,指定其它端口
rmiregistry 2030 & jstatd -J-Djava.security.policy=jstatd.all.policy -p 2030

至此,远程服务器配置完成

在远程上右键,添加远程主机,输入远程服务器IP

在添加的远程主机上右键,添加jstatd连接

可参考:


二、JXM远程监控服务器配置

检查远程服务器host是否是127.0.0.1 , 执行命令 hostname -i 如果是127.0.0.1 。

在etc/hosts 文件中将127.0.0.1改为主机IP,如果不能保存,改权限

chmod +x hosts

JAVA_OPTS=”-Dcom.sun.management.jmxremote.port=1099
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=服务器IP”

位置:

#OS specific support. $var _must_ be set to either true or false. //后面

这是不加认证的。以上配置是需要关闭防火墙,如果想不关闭防火墙来访问。需要在iptables里把1099端口给公布出去。

 

至此,远程服务器配置完成。

在远程上右键,添加远程主机,输入远程服务器IP

在添加的远程主机上右键,添加JMX连接

 

 

参考:

显示全文