01 JVM的參數類型、jinfo & jps(參數和進程查看)、jstat(類加載、垃圾收集、JIT 編譯)

JVM的參數類型

標準參數(各版本中保持穩定)
-help
-server -client
-version -showversion
-cp -classpath
 
X 參數(非標準化參數)
-Xint:解釋執行
-Xcomp:第一次使用就編譯成本地代碼
-Xmixed:混合模式,JVM 本身決定是否編譯成本地代碼
示例:
java -version(默認是混合模式)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)
java -Xint -version
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, interpreted mode)
 
XX 參數(非標準化參數)
主要用於 JVM調優和 debug
  • Boolean類型
  • 非Boolean類型
格式:-XX:<name>=<value> 表示 name 屬性的值是 value
如:-XX:MaxGCPauseMillis=500
-XX:GCTimeRatio=19
-Xmx -Xms屬於 XX 參數
-Xms 等價於-XX:InitialHeapSize
-Xmx 等價於-XX:MaxHeapSize
-xss 等價於-XX:ThreadStackSize 

查看

jinfo -flag MaxHeapSize <pid>
-XX:+PrintFlagsInitial
-XX:+PrintFlagsFinal
-XX:+UnlockExperimentalVMOptions 解鎖實驗參數
-XX:+UnlockDiagnosticVMOptions 解鎖診斷參數
-XX:+PrintCommandLineFlags 打印命令行參數
輸出結果中=表示默認值,:=表示被用戶或 JVM 修改後的值
示例:java -XX:+PrintFlagsFinal -version
 
補充:測試中須要用到 Tomcat,CentOS 7安裝示例以下
pid 可經過相似 ps -ef|grep tomcat或 jps來進行查看

jps

詳情參考  jps官方文檔
-l

jinfo

jinfo -flag MaxHeapSize <pid>
jinfo -flags <pid>
 

jstat

詳情參考 jstat 官方文檔html

JAVA生產環境性能監控與調優
類加載

垃圾收集

-gc, -gcutil, -gccause, -gcnew, -gcoldjava

如下大小的單位均爲 KBapache

S0C, S1C, S0U, S1U: S0和 S1的總量和使用量tomcat

EC, EU: Eden區總量與使用量oracle

OC, OU: Old區總量與使用量app

MC, MU: Metacspace區(jdk1.8前爲 PermGen)總量與使用量xss

CCSC, CCSU: 壓縮類區總量與使用量性能

YGC, YGCT: YoungGC 的次數與時間測試

FGC, FGCT: FullGC 的次數與時間ui

GCT: 總的 GC 時間

JIT 編譯

-compiler, -printcompilation
相關文章
相關標籤/搜索