java程序在運行的過程當中,有時候咱們會須要了解程序的內部運行狀況,這個時候就能夠使用jstat命令,jstat命令能夠查看堆內存各部分的使用量,以及加載類的數量。命令的格式以下:java
jstat命令格式:spa
jstat [Options] vmid [interval] [count]對象
參數說明:blog
Options,選項,咱們通常使用 -gcutil 查看gc狀況
vmid,VM的進程號,即當前運行的java進程號,能夠使用 ps -ef|grep java 查看 java進行的id
interval,間隔時間,單位爲秒或者毫秒
count,打印次數,若是缺省則打印無數次進程
示例:內存
類加載統計ci
jstat -class 14681
- Loaded:加載class的數量
- Bytes:所佔用空間大小
- Unloaded:未加載數量
- Bytes:未加載佔用空間
- Time:時間
編譯統計it
jstat -compiler 14681io
![](http://static.javashuo.com/static/loading.gif)
- Compiled:編譯數量。
- Failed:失敗數量
- Invalid:不可用數量
- Time:時間
- FailedType:失敗類型
- FailedMethod:失敗的方法
垃圾回收統計編譯
jstat -gc 14681
![](http://static.javashuo.com/static/loading.gif)
- S0C:第一個倖存區的大小
- S1C:第二個倖存區的大小
- S0U:第一個倖存區的使用大小
- S1U:第二個倖存區的使用大小
- EC:伊甸園區的大小
- EU:伊甸園區的使用大小
- OC:老年代大小
- OU:老年代使用大小
- MC:方法區大小
- MU:方法區使用大小
- CCSC:壓縮類空間大小
- CCSU:壓縮類空間使用大小
- YGC:年輕代垃圾回收次數
- YGCT:年輕代垃圾回收消耗時間
- FGC:老年代垃圾回收次數
- FGCT:老年代垃圾回收消耗時間
- GCT:垃圾回收消耗總時間
堆內存統計
jstat -gccapacity 14681
![](http://static.javashuo.com/static/loading.gif)
- NGCMN:新生代最小容量
- NGCMX:新生代最大容量
- NGC:當前新生代容量
- S0C:第一個倖存區大小
- S1C:第二個倖存區的大小
- EC:伊甸園區的大小
- OGCMN:老年代最小容量
- OGCMX:老年代最大容量
- OGC:當前老年代大小
- OC:當前老年代大小
- MCMN:最小元數據容量
- MCMX:最大元數據容量
- MC:當前元數據空間大小
- CCSMN:最小壓縮類空間大小
- CCSMX:最大壓縮類空間大小
- CCSC:當前壓縮類空間大小
- YGC:年輕代gc次數
- FGC:老年代GC次數
新生代垃圾回收統計
jstat -gcnew 14681
![](http://static.javashuo.com/static/loading.gif)
- S0C:第一個倖存區大小
- S1C:第二個倖存區的大小
- S0U:第一個倖存區的使用大小
- S1U:第二個倖存區的使用大小
- TT:對象在新生代存活的次數
- MTT:對象在新生代存活的最大次數
- DSS:指望的倖存區大小
- EC:伊甸園區的大小
- EU:伊甸園區的使用大小
- YGC:年輕代垃圾回收次數
- YGCT:年輕代垃圾回收消耗時間
新生代內存統計
jstat -gcnewcapacity 14681
![](http://static.javashuo.com/static/loading.gif)
- NGCMN:新生代最小容量
- NGCMX:新生代最大容量
- NGC:當前新生代容量
- S0CMX:最大幸存1區大小
- S0C:當前倖存1區大小
- S1CMX:最大幸存2區大小
- S1C:當前倖存2區大小
- ECMX:最大伊甸園區大小
- EC:當前伊甸園區大小
- YGC:年輕代垃圾回收次數
- FGC:老年代回收次數
老年代垃圾回收統計
jstat -gcold 14681
![](http://static.javashuo.com/static/loading.gif)
- MC:方法區大小
- MU:方法區使用大小
- CCSC:壓縮類空間大小
- CCSU:壓縮類空間使用大小
- OC:老年代大小
- OU:老年代使用大小
- YGC:年輕代垃圾回收次數
- FGC:老年代垃圾回收次數
- FGCT:老年代垃圾回收消耗時間
- GCT:垃圾回收消耗總時間
老年代內存統計
jstat -gcoldcapacity 14681
![](http://static.javashuo.com/static/loading.gif)
- OGCMN:老年代最小容量
- OGCMX:老年代最大容量
- OGC:當前老年代大小
- OC:老年代大小
- YGC:年輕代垃圾回收次數
- FGC:老年代垃圾回收次數
- FGCT:老年代垃圾回收消耗時間
- GCT:垃圾回收消耗總時間
雲數據空間統計
jstat -gcmetacapacity 14681
![](http://static.javashuo.com/static/loading.gif)
- MCMN: 最小元數據容量
- MCMX:最大元數據容量
- MC:當前元數據空間大小
- CCSMN:最小壓縮類空間大小
- CCSMX:最大壓縮類空間大小
- CCSC:當前壓縮類空間大小
- YGC:年輕代垃圾回收次數
- FGC:老年代垃圾回收次數
- FGCT:老年代垃圾回收消耗時間
- GCT:垃圾回收消耗總時間
總結垃圾回收統計
jstat -gcutil 14681
![](http://static.javashuo.com/static/loading.gif)
- S0:倖存1區當前使用比例
- S1:倖存2區當前使用比例
- E:伊甸園區使用比例
- O:老年代使用比例
- M:元數據區使用比例
- CCS:壓縮使用比例
- YGC:年輕代垃圾回收次數
- FGC:老年代垃圾回收次數
- FGCT:老年代垃圾回收消耗時間
- GCT:垃圾回收消耗總時間
JVM編譯方法統計
jstat -printcompilation 14681
![](http://static.javashuo.com/static/loading.gif)
- Compiled:最近編譯方法的數量
- Size:最近編譯方法的字節碼數量
- Type:最近編譯方法的編譯類型。
- Method:方法名標識。