環境:centos7.3 jdk 1.8
jps(Java Virtual Machine Process Status Tool)是JDK1.5提供的一個顯示目前所有java程序pid的指令,可以查詢出所有java程序相關的程式。
jps用法:
參數說明
-q:隻輸出程序 ID
-m:輸出傳入 main 方法的參數
-l:輸出完全的包名,應用主類名,jar的完全路徑名
-v:輸出jvm參數
-V:輸出通過flag檔案傳遞到JVM中的參數
常用例子
jps 列出所有的java相關程序
jps -l
2) : jinfo(功能 :檢視正在運作的Java應用程式的擴充參數)
使用案例:查詢某個程序的jvm參數
檢視全局java參數
Jstat:
jstat指令可以檢視堆記憶體各部分的使用量,以及加載類的數量。指令的格式如下:
jstat [-指令選項] [vmid] [間隔時間/毫秒] [查詢次數]
案例: 類加載統計
- Loaded:加載class的數量
- Bytes:所占用空間大小
- Unloaded:未加載數量
- Bytes:未加載占用空間
- Time:時間
垃圾回收統計 gc
堆記憶體統計)jstat -gccapacity -pid
NGCMN:新生代最小容量
NGCMX:新生代最大容量
NGC:目前新生代容量
S0C:第一個幸存區大小
S1C:第二個幸存區的大小
EC:伊甸園區的大小
OGCMN:老年代最小容量
OGCMX:老年代最大容量
OGC:目前老年代大小
OC:目前老年代大小
MCMN:最小中繼資料容量
MCMX:最大中繼資料容量
MC:目前中繼資料空間大小
CCSMN:最小壓縮類空間大小
CCSMX:最大壓縮類空間大小
CCSC:目前壓縮類空間大小
YGC:年輕代gc次數
FGC:老年代GC次數
- S0C:第一個幸存區的大小
- S1C:第二個幸存區的大小
- S0U:第一個幸存區的使用大小
- S1U:第二個幸存區的使用大小
- EC:伊甸園區的大小
- EU:伊甸園區的使用大小
- OC:老年代大小
- OU:老年代使用大小
- MC:方法區大小(元空間)
- MU:方法區使用大小
- CCSC:壓縮類空間大小
- CCSU:壓縮類空間使用大小
- YGC:年輕代垃圾回收次數
- YGCT:年輕代垃圾回收消耗時間
- FGC:老年代垃圾回收次數
- FGCT:老年代垃圾回收消耗時間
- GCT:垃圾回收消耗總時間
老年代垃圾回收統計(jstat -gcold pid)
MC:方法區大小
MU:方法區使用大小
CCSC:壓縮類空間大小
CCSU:壓縮類空間使用大小
OC:老年代大小
OU:老年代使用大小
YGC:年輕代垃圾回收次數
FGC:老年代垃圾回收次數
FGCT:老年代垃圾回收消耗時間
GCT:垃圾回收消耗總時間
老年代記憶體統計 jstat -gcoldcapacity pid
OGCMN:老年代最小容量
OGCMX:老年代最大容量
OGC:目前老年代大小
OC:老年代大小
YGC:年輕代垃圾回收次數
FGC:老年代垃圾回收次數
FGCT:老年代垃圾回收消耗時間
GCT:垃圾回收消耗總時間
中繼資料空間統計 jstat -gcmetacapacity pid
MCMN:最小中繼資料容量
MCMX:最大中繼資料容量
MC:目前中繼資料空間大小
CCSMN:最小壓縮類空間大小
CCSMX:最大壓縮類空間大小
CCSC:目前壓縮類空間大小
YGC:年輕代垃圾回收次數
FGC:老年代垃圾回收次數
FGCT:老年代垃圾回收消耗時間
GCT:垃圾回收消耗總時間
垃圾回收統計
S0:幸存1區目前使用比例
S1:幸存2區目前使用比例
E:伊甸園區使用比例
O:老年代使用比例
M:中繼資料區使用比例
CCS:壓縮使用比例
YGC:年輕代垃圾回收次數
FGC:老年代垃圾回收次數
FGCT:老年代垃圾回收消耗時間
GCT:垃圾回收消耗總時間
jmap) 檢視記憶體大小
使用案例
檢視堆大小 jmap -heap pid
堆Dump 導出
然後生成在你指定的檔案下 ,使用jvisualvm導入檢視