隨筆-179  評論-666  文章-29  trackbacks-0
          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 Files\Java\jdk1.6.0_02\demo\jfc\Java2D\)

          還出不來的話 直接 在dos里 jconsole 進程號

          2、啟動jdk_home\bin目錄下的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_home\bin目錄下的Jconsole.exe點高級。在JMX

          URL:中輸入語句如下:

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

          mi
          點連接就可以進行遠程監控了



          web應用程序在tomcat中部署JMX(示例:tomcat-6.0.14)
          1、啟動tomcat\bin目錄下的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_home\bin目錄下的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_02\lib):輸入

          localhost:1090

          用戶名 口令 為空

          進入 即可 查看


          posted on 2008-11-20 15:00 Alpha 閱讀(6223) 評論(0)  編輯  收藏 所屬分類: Java J2EE JSP
          主站蜘蛛池模板: 讷河市| 体育| 织金县| 定远县| 金塔县| 吉水县| 泽州县| 九龙坡区| 镇宁| 新郑市| 花垣县| 托克托县| 深圳市| 宜黄县| 德州市| 莱州市| 奉化市| 肃宁县| 左权县| 呈贡县| 高唐县| 望都县| 重庆市| 溆浦县| 大宁县| 富宁县| 卢氏县| 大名县| 南部县| 莲花县| 当雄县| 泽州县| 卢氏县| 平罗县| 太康县| 陆良县| 和田市| 大宁县| 游戏| 瑞安市| 绍兴县|