• <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 首頁 > hot資訊 > 必須掌握的JVM監控工具

    必須掌握的JVM監控工具

    更新時間:2020-10-23 17:26 瀏覽28次 來源:動力節點

    JVM是在java面試題中最常出現的題目類別之一,不僅是因為JVM屬于java零基礎的初學者首先要學習的內容,更因為虛擬機是使java語言實現與平臺無關性這一特點的關鍵。這篇文章接著以前學習過的概念、JVM運行機制的內容,繼續學習JVM的相關知識——JVM監控工具,是大家要掌握的虛擬機的內容。


    1、jps:虛擬機進程狀況工具

    jps主要用來輸出JVM中運行的進程狀態信息。語法格式如下:

    jps [options] [hostid]

    第一個參數:options

    -q 不輸出類名、Jar名和傳入main方法的參數-m 輸出傳入main方法的參數-l 輸出main類或Jar的全限名-v 輸出傳入JVM的參數

    第二個參數:hostid

    主機或者是服務器的id,如果不指定,就默認為當前的主機或者是服務器。這是在Windows10系統下測試的,當然也可以在linux下試驗,方式是一樣的,結果可能有不同,可以選擇不同的參數選項來進行測試,打開CMD輸入相應命令。


    2、jstack:堆棧跟蹤工具

    jstack用于生成虛擬機當前時刻的線程快照。語法格式如下:

    jstack [option] vmid

    第一個參數:option

    image.png

    第二個參數:vmid

    vmid是Java虛擬機ID,在Linux/Unix系統上一般就是進程ID。我們直接在CMD中操作一下:

    image.png


    3、jstat:虛擬機統計信息監控工具

    jstat監視虛擬機各種運行狀態信息,可以顯示本地或者是遠程虛擬機進程中的類裝載、內存、垃圾收集、JIT編譯等運行數據。語法格式如下:

    jstat [ generalOption | outputOptions vmid [interval] [count]] ]

    第一個參數:generalOption | outputOptions。這個參數表示的option,代表著用戶希望查詢的虛擬機信息,分為類加載、垃圾收集、運行期編譯狀況3類。第二個參數:vmid。vmid是Java虛擬機ID,在Linux/Unix系統上一般就是進程ID。第三個參數:interval。interval是采樣時間間隔。第四個參數:count。count表示的是采樣數。


    4、jinfo:實時地查看和調整虛擬機各項參數

    命令格式:jinfo [option] pid

    第一個參數:option

    image.png

    第二個參數:pid。指定顯示的進程id。在CMD中進行測試:

    image.png


    5、jmap:內存映像工具

    用于生成堆轉存的快照,一般是heapdump或者dump文件。如果不適用jmap命令,可以使用-XX:+HeapDumpOnOutOfMemoryError參數,當虛擬機發生內存溢出的時候可以產生快照。或者使用kill -3 pid也可以產生。jmap的作用并不僅僅是為了獲取dump文件,它可以查詢finalize執行隊列,java堆和永久代的詳細信息,如空間使用率,當前用的哪種收集器。jmap的命令格式:jmap [option] vmid。主要參數如下:

    image.png


    6、JConsole:JMX的可視化管理工具

    這個工具相比較前面幾個工具,使用率比較高,很重要。它是一個java GUI監視工具,可以以圖表化的形式顯示各種數據。并可通過遠程連接監視遠程的服務器VM。用java寫的GUI程序,用來監控VM,并可監控遠程的VM,非常易用,而且功能非常強。在cmd里面輸入 jconsole,選則進程就可以了。(前提是在IDE工具先建立一個線程運行著)

    image.png

    然后我們選擇了相應的選項之后,進入這個工具就會出現下面這個界面

    image.png


    在上面有菜單,我們可以選擇其中一個進行查看就可以了,這個用具用起來很方便,使用頻率很高。


    JVM監控工具不僅在故障排查的時候會使用到,在做壓測的時候也需要查看java進程的有關參數,有時候在JVM面試題中也會考察到這方面的內容,所以上面關于JVM監控工具的介紹,大家需要認真學習,并在java教程中學習JVM監控工具的更多操作的使用。

    熱門課程推薦

    全部班型支持免費試學

    動力節點在線報名表(此信息已加密,請放心填寫)

    返回頂部
  • <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 面对面棋牌游戏