Jconsole远程监控tomcat 的JVM内存(linux、windows)

Jconsole是JDK自带的监控工具,在JDK/bin目录下可以找到。它用于连接正在运行的本地或者远程的JVM,对运行在java应用程序的资源消耗和性能进行监控,并画出大量的图表,提供强大的可视化界面。而且本身占用的服务器内存很小,甚至可以说几乎不消耗,不失为一款好工具。

-------------Jconsole监视远程的linux服务器上的tomcat -----------------------------
环境:
服务器端: Linux + jdk1.60 + tomcat
7
客户端: Windows + jdk1.6.0

1、linux服务器上的tomcat
的bin/catalina.sh文件,
在# OS specific support.  $var _must_ be set to either
true or false. 这一行之后, 加入以下参数:

JAVA_OPTS="-Dcom.sun.management.jmxremote.port=9008 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

  一般是这样地:

1.JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m" JAVA_OPTS=" -Dcom.sun.management.jmxremote.port=9008 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "

  

2、 linux服务器 执行hostname -i 命令,如果显示的是127.0.0.1,则需要修改/etc/hosts文件,否则jconsole无法链接。
# vi
/etc/hosts,修改如下:
原值是: 127.0.0.1 localhost localhost.localdomain
localhost
修改为: 服务器的真实IP地址 localhost localhost.localdomain
localhost


linux服务器的防火墙,也要开相应端口.

4  客户端:
           1.
打开cmd窗口,输入jconsole
           2. 指定连接参数:
                   远程主机:
服务器的真实IP地址
                   端口:
9008

5、补充:由于配置了上述文件,在停止tomcat的时,会由于上述配置的端口被占用而无法停掉。2种方式解决:
(1)使用killall
-9 java
杀掉所有的java进程。
(2)在catalina.sh中配置CATALINA_PID=pid,这样在停止tomcat的过程中,上述被占用的端口会自动被杀掉。

-----------------Jconsole监视远程的Windows服务器上的tomcat
-------------------------

修改服务器tomcat的bin/catalina.bat文件,
在以下行:
rem Guess CATALINA_HOME if not defined
set
CURRENT_DIR=%cd%

加入以下参数:

1.set JAVA_OPTS=-Dcom.sun.management.jmxremote.port=9008 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false  

注意添加的位置:

Jconsole远程监控tomcat 的JVM内存(linux、windows)

重启服务器tomcat
打开cmd窗口,输入jconsole,连接。

上一篇:JVM学习总结五(番外)——JConsole


下一篇:java线上应用问题排查方法和工具