【性能监控】:jconsole监控tomcat服务器内存情况

一、在tomcat的路径下bin目录下,在catalina.sh文件中配置如下代码:

 

JAVA_OPTS="-Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.port=8099 -Dcom.sun.management.jmxremote.rmi.port=8099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

其中红色的部分-Dcom.sun.management.jmxremote.rmi.port=8099 一定要加上,网上都没有加,怎么都链接不上,“127.0.0.1”换成机器的真实的ip;

二、netstat -tunlp|grep 8099查看8099端口是否被占用,如果占用另外换一个

三、防火墙端口的添加,/etc/firewalld/zones/public.xml 路径

四、防火墙重新加载,firewall-cmd --reload

五、本地jdk路径下jconsole启动

六、输入地址和端口,如果 -Dcom.sun.management.jmxremote.authenticate设置为false则不需要输入用户和密码

总结:

第一次启动时tomcat不会报错,如果停止之后tomcat会提示端口被占用了, 问题原因是,在关闭Tomcat时,也执行了Catalish中的jmxremote的端口号。

  解决办法:在catalish.sh文件中,判断是否为启动命令,如果是start,就设置变量,否则,就不设置。

if [ "$1" = "start" ];then
   echo "set console";
   JAVA_OPTS="-Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.port=8099 -Dcom.sun.management.jmxremote.rmi.port=8099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
else
   echo "no startup"; 
fi;

 

posted @ 2019-04-24 09:29  fy-  阅读(324)  评论(0)    收藏  举报