【性能监控】: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;

浙公网安备 33010602011771号