命令基於Sun JDK,用於監控和診斷HotSpot的java 虛擬機。 對應的可執行文件位於$JAVA_HOME/bin/下
jps-虛擬機進程狀況工具
選項 |
作用 |
-q |
只輸出LVMID,同進程pid |
-m |
輸出JVM啟動時傳給主類main()的參數。 |
-l |
輸出主類全名。如果進程執行的是jar包,則輸出包名。 |
-v |
輸出JVM啟動時JVM參數。 |
jstat-虛擬機統計信息監視工具
命令格式
jstat [ option vmid [interval[s|ms] [count]] ]
interval代表查詢間隔,可以指定時間單位為s或ms,默認為ms。
選項 |
作用 |
-class |
監視類裝載、卸載數量,字節數,以及類裝載所耗費的時間。 |
-gc |
監視java堆狀況,包括Eden區,Survivor區,Old區,Perm區的容量,已使用容量及YGC,FGC發生的次數及耗費的時間。 |
-gccapacity |
監視Java堆各個區的最大,最小使用容量及配置容量。 |
-gcutil |
監視Java堆各個區的空間使用百分比及YGC,FGC發生的次數及耗費的時間。 |
-gccause |
同-gcutil功能相同,額外輸出上一次GC產生的原因。 |
-compiler |
輸出JIT編譯器編譯過的方法個數,耗時等信息。 |
-printcompilation |
輸出已經被JIT編譯的方法 |
jinfo-Java配置信息工具
<no option> |
打印命令行參數及系統屬性。 |
-flag name |
打印給定name對應的命令行參數值。 |
-flag [+|-]name |
更改boolean類型的命令行參數值 |
-flag name=value |
更改name對應的命令行參數值為value。 |
-flags |
打印傳給JVM的命令參數值。 |
-sysprops |
打印系統屬性值。 |
jmap-java內存映像工具
-dump |
生成dump文件,格式為:-dump:[live,]format=b,file=<filename>,其中live表示先做GC然后再做dump文件,即只dump活的對象。 |
-finalizerinfo |
顯示在F-Queue中等待Finalizer線程執行finalize方法的對象。Only for Linux。 |
-heap |
顯示Java堆棧詳細信息,例如GC收集器,參數配置,JVM內存分區情況。Only for Linux。 |
-histo |
顯示堆中對象的統計信息,包括類、實例數量、容量大小。 |
-permstat |
按照ClassLoader統計Perm區的內存狀態。Only for Linux。 |
-F |
與-dump參數一起使用,強制生成dump文件。 |
jhat-dump文件分析工具
選項 |
作用 |
-port |
指定http啟動的端口,默認7000 |
-J<flag> |
指定傳給jhat JVM的參數,-J-Xmx512m表示jhat進程最大堆大小為512m。 |
jstack-java堆棧跟蹤工具
選項 |
作用 |
-F |
當正常輸出請求得不到響應時,強制輸出堆棧信息。 |
-l |
除堆棧外,顯示關於鎖的附加信息。 |
-m |
如果調用native方法,則可以打出c/c++的線程堆棧。 |