使用jconsole远程监控linux下tomcat使用情况
JDK 64位
tomcat catalina.sh JAVA_OPTS配置:
JAVA_OPTS="-server -verbose:gc -Xms13000m -Xmx13000m -Xmn4000m -XX:PermSize=128m -XX:MaxPermSize=1024m -Xss1024k -XX:NewSize=1024m -XX:MaxNewSize=2048m -XX:+UseConcMarkSweepGC -XX:ParallelGCThreads=16 -XX:+UseCMSCompactAtFullCollection -XX:CMSMaxAbortablePrecleanTime=5000 -XX:+UseParNewGC -XX:+DisableExplicitGC -Djava.rmi.server.hostname=10.86.1.91 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8081 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
startup.sh来设置JAVA_OPTS=’-Djava.rmi.server.hostname=192.168.1.110
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8081
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false’
特别注意:
1. 如果你的linux系统下hostname
-i显示为127.0.0.1,则jconsole将连接不上远程服务器,方法一可以修改/etc/hosts文件,将其第一行的”127.0.0.1
localhost.localdomain localhost”,修改为:”192.168.1.110
localhost.localdomain localhost”,其中,”192.168.1.110″为实际的服务器的IP地址。hosename
-i输出结果为192.168.1.110JConsole图形界面才能显示出来,但是用此方法可能会有问题,如sendmail;推荐使用方法二,在
JAVA_OPTS加上’-Djava.rmi.server.hostname=192.168.1.110′
2. -Dcom.sun.management.jmxremote.port=8081,这个端点是jconsole专用的,不要和你的系统的端口冲突。再启动你的应用。
3. 看了网上很多文章都是在catalina.sh文件中加JAVA_OPTS,这样是有问题的,关闭tomcat会报该端口已经被占用,因为关闭tomcat时候,还会读取catalina.sh,所有最好在startup.sh文件中添加JAVA_OPTS那一段。
4.
最后双击本机jdk1.6/bin/jconsole.exe,启动Jconsole监控界面,在远程连接处输
入:192.168.1.110:8081,输入Linux主机的用户名和密码,连接即
可,-Dcom.sun.management.jmxremote.authenticate=false,设置成了false,所以如果不知道
Linux机器的用户名和密码,也可以不输入,直接连接.