centos 使用jconsole 监控 java 虚拟机

时间:2022-12-29 10:43:05

服务器高平发的时候如果发生了CPU 100%或者内容泄漏,监控就显得非常重要了,如果我们能监控生产服务器上的java虚拟机,那么可以使用jconsole和jvisualvm。配置方法如下:

1、服务器系统centos6.5 64位、jdk1.8.0_65(64位)、tomcat-7.0.65。

2、配置tomcat/bin/catalina.sh ,在 Execute The Requested Command 上面配置一下 如下参数:

CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=172.172.177.52 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" 

# ----- Execute The Requested Command ---------------------

3、配置jmxremote.access和jmxremote.password,(注意配置的jre路径下面的jmxremote,可以使用 ps -ef|grep java 确定一下jre的路径)

cd /opt/jdk1.8.0_65/jre/lib/management  
mv jmxremote.password.template jmxremote.password
chmod 600 jmxremote.access jmxremote.password
vi jmxremote.password

将jmxremote.password中最后两行中的注释去掉(前面为用户,后面为密码)

monitorRole 123
controlRole 123

其中monitorRole为只拥有只读权限的角色,controlRole有更高权限。

4、将端口加入防火墙信任列表、或关闭防火墙(阿里云上防火墙默认关闭)

1) 重启后生效 
关闭: chkconfig iptables off

2) 即时生效,重启后失效
关闭: service iptables stop

5、连接centos的jconsole服务器端,输入IP地址 port

centos 使用jconsole 监控 java 虚拟机

6、当然你也可以是使用jvisulvm 方法类似不在赘述