JConsole使用

来源:互联网 发布:知之的幸福之家 编辑:程序博客网 时间:2024/05/20 16:44

JConsole使用

一、JConsole远程监控Tomcat服务器 

  为了解决内存溢出的问题,会用到一些监视内存的工具,jconsole这个工具是jdk5.0自带的工具,所以如果你的jdk是5.0那么就不用去安装。 这个工具可以查看系统的 堆,非堆,线程,等等的一些整体的情况,从而可以判断出系统的一个大概的性能情况。 
那么配置如下:如果你是用tomcat,在catalina.bat来设置set JAVA_OPTS=%JAVA_OPTS%  -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=7080 -Dcom.sun.management.jmxremote 
特别注意:-Dcom.sun.management.jmxremote.port=7080,这个端点是jconsole专用的,不要和你的系统的端点冲突。再启动你的应用。 
 如果是linux系统,则修改catalina.sh 将里面的 JAVA_OPTS="$JAVA_OPTS -Dprogram.name=$PROGNAME -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false" 设置成这样就ok了

二、JConsole远程监控JBoss服务器 

Java 5.0采用JMX方式提供了一系列监视和管理虚拟机的API,随SDK一起发布的JConsole则是采用这些API实现监控虚拟机的使用工具。JConsole能够提供被监控虚拟机的内存、线程、类的加载以及MBean等信息,从而能够对服务器的运行情况进行实时监控。
1、环境
服务器:Redhat Linux ES 3.0 + JDK 1.5.06 + Jboss 4.0.2
                ip地址:192.168.1.5
客户机:Windows + JDK 1.5.06
2、配置
修改java虚拟机启动参数
             在%JBOSS_HOME%\bin\run.sh文件中将
            JAVA_OPTS="$JAVA_OPTS -Dprogram.name=$PROGNAME "
            修改为:
           JAVA_OPTS="$JAVA_OPTS -Dprogram.name=$PROGNAME -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
          注意:9999表示监控的端口号,确保指定的端口不被占用;可以采用netstat -an来查看已经占用的端口;配合lsof -i:portnum 来查看占用端口的具体应用程序;另外如果开启了防火墙服务,请确保端口能够透过防火墙访问;
启动JBoss服务器
             ./run.sh -b192.168.1.5,必须通过-b参数指定Jboss服务器绑定的地址; 
连接远程虚拟机
         启动%JAVA_HOME%\bin目录下的JConsole,在弹出对话框的“远程”属性页的“主机名或ip”中输入192.168.1.5,在“端口”中输入9999,选择“连接”,就能查看到远程Jboss服务器的运行情况了。
原创粉丝点击