Jconsole监控tomcat 的JVM内存(远程、linux、windows)
2016-06-24 00:00
761 查看
Jconsole是JDK自带的监控工具,在JDK/bin目录下可以找到。它用于连接正在运行的本地或者远程的JVM,对运行在java应用程序的资源消耗和性能进行监控,并画出大量的图表,提供强大的可视化界面。而且本身占用的服务器内存很小,甚至可以说几乎不消耗,不失为一款好工具。我的在E:\Java\jdk1.7.0_02\bin\jconsole.exe。
-------------Jconsole监视远程的linux服务器上的tomcat -----------------------------
环境:
服务器端: Linux + jdk1.60 + tomcat 6
客户端: 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=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
一般是这样地:
JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m" JAVA_OPTS=" -Dcom.sun.management.jmxremote.port=1090 -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
具体原因是服务器端解释机器名的问题,相关问题见: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6209663
3 linux服务器的防火墙,也要开相应端口.
4 客户端:
1. 打开cmd窗口,输入jconsole
2. 指定连接参数:
远程主机: 服务器的真实IP地址
端口: 1090
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%
加入以下参数:
Java代码
set JAVA_OPTS=-Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
%JAVA_OPTS %是保留之前JAVA_OPTS参数 ,但我没使用。
重启服务器tomcat
打开cmd窗口,输入jconsole,连接。
-------------Jconsole监视远程的linux服务器上的tomcat -----------------------------
环境:
服务器端: Linux + jdk1.60 + tomcat 6
客户端: 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=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
一般是这样地:
JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m" JAVA_OPTS=" -Dcom.sun.management.jmxremote.port=1090 -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
具体原因是服务器端解释机器名的问题,相关问题见: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6209663
3 linux服务器的防火墙,也要开相应端口.
4 客户端:
1. 打开cmd窗口,输入jconsole
2. 指定连接参数:
远程主机: 服务器的真实IP地址
端口: 1090
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%
加入以下参数:
Java代码
set JAVA_OPTS=-Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
%JAVA_OPTS %是保留之前JAVA_OPTS参数 ,但我没使用。
重启服务器tomcat
打开cmd窗口,输入jconsole,连接。
相关文章推荐
- J2EE:MyEclipse中不能将WEB项目发布到TOMCAT中解决办法
- Java Web开发(一)——搭建Tomcat服务器环境
- 解决:tomcat部署时deploy location不能显示加载后的路径【转载
- tomcat+eclipse web应用开发环境配置
- 第二章:Java EE Eclipse+Tomcat开发环境
- tomcat 解析(五)-Tomcat的核心组成和启动过程
- 整合nginx,tomcat,mysql的安装与配置
- 重启Tomcat的脚本
- 新建工程部署方法
- Tomcat 系统架构与设计模式,第 2 部分: 设计模式分析
- Tomcat 系统架构与设计模式,第 1 部分: 工作原理
- Tomcat配置文件,如何配置默认项目目录
- tomcat 解析(三)-启动框架
- Tomcat源码分析
- Tomcat服务器配置参考
- tomcat 解析(二)-消息处理过程
- tomcat 解析(一)-文件解析
- Tomcat Server.xml 配置详解
- 【项目启动】 tomcat启动,项目无法启动,无法正常访问/项目可以启动,报错:java.lang.ClassNotFoundException: ContextLoaderListener
- tomcat环境中file.encoding的修改方法