Jconsole远程控制Tomcat

来源:互联网 发布:导管式卫生棉条 知乎 编辑:程序博客网 时间:2024/05/05 20:33
JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM,不过此JVM需要使用可管理的模式启动。如果要把一个应用以可管理的形式启动,可以在启动是设置com.sun.management.jmxremote。JConsole能够提供被监控虚拟机的内存、线程、类的加载以及MBean等信息,从而能够对服务器的运行情况进行实时监控。   其实在 JDK 5 中已经新加入了这个功能了. 现在的 JDK 已经内置了对 VM 的监控功能. JDK 6 中这个工具变的更加好用了. 关于 JDK 5 中如何使用这个工具可以参考这里: http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html http://java.sun.com/j2se/1.5.0/docs/guide/management/jconsole.html  2、环境配置  1、环境  服务器:CentOS 5 + JDK6 + Tomcat6                 ip地址:192.168.1.101 客户机:Windows + JDK 6 2、 配置   修改java虚拟机启动参数    在%TOMCAT_HOME%\bin\catalina.sh文件中将   JAVA_OPTS=”-Xms256m -Xmx512m -XX:MaxPermSize=128m”  修改为:   JAVA_OPTS=”-Xms256m -Xmx512m -XX:MaxPermSize=128m -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false  -Dcom.sun.management.jmxremote.authenticate=false”   注意:1090表示监控的端口号,确保指定的端口不被占用;可以采用netstat -an来查看已经占用的端口;配合lsof -i:portnum 来查看占用端口的具体应用程序;另外如果开启了防火墙服务,请确保端口能够透过防火墙访问;  启动Tomcat服务器   ./catalina.sh  run&  连接远程虚拟机    启动%JAVA_HOME%\bin目录下的jconsole,弹出对话框  2013年ACCA/CAT考试全攻略每日一练历年真题模拟测试章节知识点  在“远程进程”中输入192.168.1.101:1090,点击“连接”,就能查看到远程Tomcat服务器的运行情况了。      当JConsole成功建立连接,它从连接上的JMX代理处获取信息,并且以下面几个标签页呈现信息。    概述:监控JVM和一些监控变量的信息。   内在:内存使用信息   线程:线程使用信息   类: 类调用信息    VM 概要: JVM的信息    MBean:所有MBeans的信息  MBean 标签页展示了所有以一般形式注册到JVM上的MBeans。MBeans tab允许你获取所有的平台信息,包括那些不能从其他标签页获取到的信息。注意,其他标签页上的一些信息也在MBeans这里显示。另外,你可以使用 MBeans标签管理你自己的应用的MBeans     3、使用MBean标签监控和管理MBean  注册到JMX代理的平台或者应用的MBeans,可以通过MBeans标签获取。例如,内存的MBeans如下面定义   public interface MemoryMXBean {       public MemoryUsage getHeapMemoryUsage();      public MemoryUsage getNonHeapMemoryUsage();       public int         getObjectPendingFinalizationCount();      public boolean     isVerbose();       public void        setVerbose(boolean value);      public void        gc();  }  内存的MBean包括四个属性:    HeapMemoryUsage. 用于描述当前堆内存使用情况的只读属性    NonHeapMemoryUsage. 用于描述当前的非堆内存的使用情况的只读属性   ObjectPendingFinalizationCount.用于描述有多少对象被挂起以便回收。    Verbose.用于动态设置GC是否跟着详细的堆栈信息,为一个布尔变量  内存的MBean支持一个操作——GC,此操作可以发送进行实时的垃圾回收请求    图3: MBean 标签   左边的树形结构以名字的方式展示了所有MBeans的列表。一个MBean对象的名字由一个域的名字和一串关键字属性组成。例如,JVM的平台的MBeans是在“java.lang”域下的一组,而日志的MBeans则在"java.util.logging"域下。MBean对象的名字在javax.management.ObjectName 规范中定义。   当你在树中选中一个MBean,属性,操作,或者通知等一些信息会再右边显示出来。如果属性是可写的(属性被标志为蓝色),你可以进行设置。    图4: MBean 操作  你可以操作在”操作”节点中列出的操作。 
0 0
原创粉丝点击