zoukankan      html  css  js  c++  java
  • Jconsole的使用

     
    JDK中Jconsole的使用
    2008-04-03 14:16
    JAVA应用程序打成jar包的部署方式:

    一、Local方式
    1、cmd进入dos下,进入到应用程序所在目录,执行语句如下:
    java -Dcom.sun.management.jmxremote -jar 程序名.jar
    (java -Dcom.sun.management.jmxremote -jar Java2Demo.jar)(测试例子Java2Demo.jar在C:Program FilesJavajdk1.6.0_02demojfcJava2D)

    还出不来的话 直接 在dos里 jconsole 进程号

    2、启动jdk_homein目录下的Jconsole.exe就可以看到有一个

    本地的连接在里面。点击连接就可以进入相应的监视界面了。

    二、JMX方式(远程连接):
    1、cmd进入dos下,进入到应用程序所在目录,执行语句如下:
    java -Dcom.sun.management.jmxremote.port=8903 -

    Dcom.sun.management.jmxremote.ssl=false -

    Dcom.sun.management.jmxremote.authenticate=false
    -Djava.rmi.server.hostname=192.168.***.***

    2、启动jdk_homein目录下的Jconsole.exe点高级。在JMX

    URL:中输入语句如下:

    service:jmx:rmi:///jndi/rmi://192.168.***.***:8903/jmxr

    mi
    点连接就可以进行远程监控了



    web应用程序在tomcat中部署JMX(示例:tomcat-6.0.14)
    1、启动tomcatin目录下的tomcat6w.exe,在JAVA_OPTS里设

    置如下:
    -Dcom.sun.management.jmxremote.port=8903
    -Dcom.sun.management.jmxremote.ssl=false
    -Dcom.sun.management.jmxremote.authenticate=false
    -Djava.rmi.server.hostname=192.168.***.***

    注意:不能有空格,不然tomcat不能启动。

    2、tomcat启动成功后,就可以在另一台机器上启动

    jdk_homein目录下的Jconsole.exe点高级。在JMX URL:中输

    入语句如下:

    service:jmx:rmi:///jndi/rmi://192.168.***.***:8903/jmxr

    mi
    点连接就可以进行远程监控了

    以上是JMX基本部署,没有涉及到验证方面,如果使用的话,可

    能会有漏洞,因为SSL和authenticate设置为false的话,那么

    8903端口就有可能有暴露的危险。

    如果想进行密码验证话,可以在网上找资料,自己进行调试。


    我自己的应用:
    1.修改Linux下tomcat的bin目录下的catalina.sh文件
    添加
    JAVA_OPTS=-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
    -Dcom.sun.management.jmxremote.port=7080 
    -Dcom.sun.management.jmxremote
    2.修改/etc/hosts文件下的localhost对应的IP(127.0.0.1)地址,改为linux自身的IP如10.0.0.157.
    3.打开jconsole远程输入 10.0.0.157:7080



    Eden Space (heap): 内存最初从这个线程池分配给大部分对象。
    Survivor Space (heap):用于保存在eden space内存池中经过垃圾回收后没有被回收的对象。
    Tenured Generation (heap):用于保持已经在 survivor space内存池中存在了一段时间的对象。
    Permanent Generation (non-heap): 保存虚拟机自己的静态(refective)数据,例如类(class)和方法(method)对象。Java虚拟机共享这些类数据。这个区域被分割为只读的和只写的,
    Code Cache (non-heap):HotSpot Java虚拟机包括一个用于编译和保存本地代码(native code)的内存,叫做“代码缓存区”(code cache)

    ================================================

    使用 jconsole 监控 tomcat6

    catalina.bat

    找到

    set DEBUG_OPTS=
    set JPDA=

    在下面添加

    set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

    保存

    通过startup。bat启动 tomcat

    启动jconsole (jdk1.6.0_02lib):输入

    localhost:1090

    用户名 口令 为空

    进入 即可 查看


  • 相关阅读:
    PHP做ERP, CRM, CMS系统需要注意哪些地方
    java封装小实例
    java中数组的数组问题
    switch语句小练习
    java交换两个变量值a,b的多钟方法
    java中 i = i++ 的结果
    每日java基础知识(01)
    计算机存储负数以及int转byte时-128的出现
    python RSA 加密
    CentOS 7 安装 建立svn仓库 远程连接
  • 原文地址:https://www.cnblogs.com/zhengah/p/4793960.html
Copyright © 2011-2022 走看看