JVM-虛擬機性能監控與故障處理工具

       注意:若是讀者在工做中須要監控運行於JDK1.5的虛擬機之上的程序,在程序啓動時請添加參數「-Dcom .sun .management .jmxremote」開啓JMX管理功能,不然因爲部分工具都是基於JMX(包括4.3節介紹的可視化工具),它們都將會沒法使用,若是被監控程序運行於JDK1.6的虛擬機之上,那JMX管理默認是開啓的,虛擬機啓動時無須再添加任何參數。java

jps:虛擬機進程情況工具jsp

       列出正在運行的虛擬機進程,並顯示虛擬機執行主類(MainClass,main()函數所在的類)名稱以及這些進程的本地虛擬機惟一ID函數

       jsp命令格式:jps[options][hostid]工具

      C:\Users\hy>jps -l
        108660 C:\Users\hy\AppData\Local\Temp\pul7D78.tmp\PULSEI~1.JAR
        181688 sun.tools.jps.Jps命令行

jstat:虛擬機統計信息監視工具server

       用於監視虛擬機各類運行狀態信息的命令行工具。它能夠顯示本地或者遠程虛擬機進程中的類裝載、內存、垃圾收集、JIT編譯等運行數據進程

       jstat命令格式爲:jstat[option vmid[interval[s|ms][count]]]對於命令格式中的VMID與LVMID須要特別說明一下:若是是本地虛擬機進程,VMID與LVMID是一致的,若是是遠程虛擬機進程,那VMID的格式應當是:[protocol:][//]lvmid[@hostname[:port]/servername]內存

       參數interval和count表明查詢間隔和次數,若是省略這兩個參數,說明只查詢一次。假設須要每250毫秒查詢一次進程2764垃圾收集情況,一共查詢20次,那命令應當是:jstat-gc 2764 250 20rem

jinfo:Java配置信息工具get

      jinfo(Configuration Info for Java)的做用是實時地查看和調整虛擬機各項參數。使用jps命令的-v參數能夠查看虛擬機啓動時顯式指定的參數列表,但若是想知道未被顯式指定的參數的系統默認值,除了去找資料外,就只能使用jinfo的-flag 選項進行查詢了(若是隻限於JDK1.6或以上版本的話,使用java-XX:+PrintFlagsFin al查看參數默認值也是一個很好的選擇),jinfo還能夠使用-sysprops選項把虛擬機進程的System .getProperties()的內容打印出來。這個命令在JDK  1.5時期已經隨着Linux 版的JDK發佈,當時只提供了信息查詢的功能,JDK1.6以後,jinfo在Windows和Linux 平臺都有提供,而且加入了運行期修改參數的力,能夠使用-flag[+|-]name或者-flag name=value修改一部分運行期可寫的虛擬機參數值。JDK 1.6中,jinfo對於Windows平臺功能仍然有較大限制,只提供了最基本的-flag 選項。

       jinfo命令格式:jinfo[option]pid

jmap:Java內存映像工具

相關文章
相關標籤/搜索