服务器高平发的时候如果发生了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
6、当然你也可以是使用jvisulvm 方法类似不在赘述