我们有时候需要远程的监控jvm,监控jvm有两种方式:

1.jmx               #测试能监控cpu和内存,线程

2.jstatd          #测试后发现无法监控cpu和内存,线程

由此用jmx来监控,jmx的连接有两种方式rmi和jmxmp

1.以生产环境openfire3.10为例:

openfire采用源码的形式安装:

修改 openfire的启动脚本 /var/openfire/bin/openfire.sh,在OPENFIRE_OPTS参数中添加jmx的配置

(tomcat等的jvm与此类似,在启动脚本options添加参数)

2.配置jmx远程监控。

在OPENFIRE_OPTS=“”中添加如下,此配置无需用户密码登陆

-Dcom.sun.management.jmxremote.port=19888

-Djava.rmi.server.hostname=192.168.3.219         #注意此处要填写rmi方式连接主机,因为virtualVM采用此种方式连接,网上的坑走了很多弯路。

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.authenticate=false

#此处没有配置用户和密码去远程监控

3.用客户端java virtualVM 创建远程连接

jvm远程监控配置,以openfire为例,jmx方式监控_第1张图片