前言:
用來記錄jdk自帶的幾個處理工具,知道有這幾個東西,等有需要的時候再去具體學習使用。
1、jps 虛拟機程序狀況工具
功能:
可以列出正在運作的虛拟機程序,并顯示虛拟機執行Main類名稱及這些程序的本地虛拟機唯一ID(LVMID)。
指令:
jps [options ] [ hostid ]
jps -q:隻輸出LVMID,省略主類的名稱
jps-m:輸出虛拟機程序啟動時傳遞給主類的參數
jps-l:輸出主類的全名,如果程序時Jar,則輸出其路徑
jps-v:輸出虛拟機程序啟動時的JVM參數。
2、jstat 虛拟機統計資訊監視工具
功能:
監視虛拟機各種運作狀态資訊的指令行工具,主要用來定位虛拟機性能的工具。它可以顯示本地或者遠端虛拟機程序中的類加載、記憶體、垃圾收集、JIT編譯等運作資料。
指令:
可以使用 jstat -help 來檢視指令參數
- option: 參數選項
- -t: 可以在列印的列加上Timestamp列,用于顯示系統運作的時間
- -h: 可以在周期性資料資料的時候,可以在指定輸出多少行以後輸出一次表頭
- vmid: Virtual Machine ID( 程序的 pid)
- interval: 執行每次的間隔時間,機關為毫秒
- count: 用于指定輸出多少次記錄,預設則會一直列印
option 可以從下面參數中選擇
- -class 顯示ClassLoad的相關資訊;
- -compiler 顯示JIT編譯的相關資訊;
- -gc 顯示和gc相關的堆資訊;
- -gccapacity 顯示各個代的容量以及使用情況;
- -gcmetacapacity 顯示metaspace的大小
- -gcnew 顯示新生代資訊;
- -gcnewcapacity 顯示新生代大小和使用情況;
- -gcold 顯示老年代和永久代的資訊;
- -gcoldcapacity 顯示老年代的大小;
- -gcutil 顯示垃圾收集資訊;
- -gccause 顯示垃圾回收的相關資訊(通-gcutil),同時顯示最後一次或目前正在發生的垃圾回收的誘因;
- -printcompilation 輸出JIT編譯的方法資訊;
各個區間的指令使用及相關的參數意思:
https://www.cnblogs.com/yjd_hycf_space/p/7755633.html
3、jinfo Java配置資訊工具
功能:
實時檢視和調整虛拟機各項參數。
指令:
https://www.jianshu.com/p/8d8aef212b25
4、jmap Java記憶體映像工具
功能:
生成堆轉儲快照。
指令:
https://www.jianshu.com/p/a4ad53179df3
5、jhat 虛拟機堆轉儲快照分析工具(JDK9被删除了)
功能:
與 jmap 指令一起使用,來分析 jmap 生成的堆轉儲快照。
指令:
https://www.cnblogs.com/flydean/p/jdk14-jmap-jhat.html
6、jstack 堆棧跟蹤工具
功能:
生成虛拟機目前時刻的線程快照。IDEA 也提供該功能,如下圖所示:
指令:
https://www.cnblogs.com/kongzhongqijing/articles/3630264.html
7、HSDIS JIT生成代碼反彙編
功能:
分析程式如何執行。
安裝:
https://www.jianshu.com/p/125f0ecf385f
使用:
https://www.jianshu.com/p/78f71c033fae