Jconsole遠程控制Tomcat

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 操作  你可以操作在”操作”節點中列出的操作。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章