天天看點

JVM虛拟機學習(5)---JDK常用工具(二)1. 常用的指令行工具2. 思維導圖

目錄頁:https://mp.csdn.net/postedit/95937156

1. 常用的指令行工具

  1.1. jinfo

    jinfo常用于檢視或設定JVM參數,執行jinfo -help檢視指令格式。

JVM虛拟機學習(5)---JDK常用工具(二)1. 常用的指令行工具2. 思維導圖

參數:

  • pid:程序号
  • executable core 産生core dump檔案
  • [[email protected]]remote server IP or hostname 遠端的ip或者hostname,server-id标記服務的唯一性id

option:

  • -flag name 輸出對應名稱的參數
  • -flag [+|-]name 開啟或者關閉對應名稱的參數
  • -flag name=value 設定對應名稱的參數
  • -flags 輸出全部的參數
  • -sysprops 輸出系統屬性
  • no option 輸出全部的參數和系統屬性

1.1.1. jinfo pid

    jinfo pid指令用于檢視程序的全部參數和系統屬性,會打出較多的參數資訊。

JVM虛拟機學習(5)---JDK常用工具(二)1. 常用的指令行工具2. 思維導圖

  1.1.2. jinfo -flag name pid

    輸出對應名稱的參數,可以檢視指定的 jvm 參數的值,減号代表該參數未生效,加号代表生效。

JVM虛拟機學習(5)---JDK常用工具(二)1. 常用的指令行工具2. 思維導圖

  1.1.3. jinfo flag [+|-]name pid

    開啟或者關閉對應名稱的參數,常用于無法重新開機線上應用時又需要添加啟動參數。

JVM虛拟機學習(5)---JDK常用工具(二)1. 常用的指令行工具2. 思維導圖

  1.1.4. jinfo -flag name=value

    如果JVM啟動參數是value值,需要使用該指令修改指定參數的值。

JVM虛拟機學習(5)---JDK常用工具(二)1. 常用的指令行工具2. 思維導圖

  1.1.5. jinfo -flags pid

    輸出程序全部JVM參數

JVM虛拟機學習(5)---JDK常用工具(二)1. 常用的指令行工具2. 思維導圖

  1.2. jmap

    當出現頻繁gc時我們會使用jmap dump出程式的記憶體占用資訊,也會使用該指令檢視堆資訊。

JVM虛拟機學習(5)---JDK常用工具(二)1. 常用的指令行工具2. 思維導圖

參數:

  • executable: 産生核心dump的Java可執行檔案。
  • core: 需要列印配置資訊的核心檔案。
  • server-id 可選的唯一id,如果相同的遠端主機上運作了多台調試伺服器,用此選項參數辨別伺服器。
  • remote server IP or hostname 遠端調試伺服器的IP位址或主機名。

下面介紹主要使用的方法

  1.2.1. jmap -heap pid

    用于檢視java程序堆記憶體資訊。

JVM虛拟機學習(5)---JDK常用工具(二)1. 常用的指令行工具2. 思維導圖

  1.2.2. jmap -dump:format=b,file=heapdump.phrof pid

    這是我們發現程式記憶體溢出或頻繁gc時經常使用的一個指令,用于生成堆轉儲快照dump檔案,需要注意的是執行過程中會暫停應用,線上系統慎用。導出dump檔案後可以使用MAT工具進行分析。連結:

https://download.csdn.net/download/u011294519/11796613

  1.3. jstack

    jstack指令我們經常用于檢視程序的線程狀态

    jstack -l pid > file.txt

JVM虛拟機學習(5)---JDK常用工具(二)1. 常用的指令行工具2. 思維導圖
JVM虛拟機學習(5)---JDK常用工具(二)1. 常用的指令行工具2. 思維導圖

2. 思維導圖

JVM虛拟機學習(5)---JDK常用工具(二)1. 常用的指令行工具2. 思維導圖

繼續閱讀