jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。
下面展示常用命令
jstat –class
可以列出当前JVM版本支持的选项,常见的有
- -class 类加载器
显示列名 | 具体描述 |
---|---|
Loaded | 装载的类的数量 |
Bytes | 装载的字节数 |
Unloaded | 卸载的类的数量 |
Bytes | 卸载的类数量 |
Time | 装载和卸载的使用时间 |
例子如下
1 | jstat -class 86517 |
jstat -compiler pid显示VM实时编译的数量等信息。
显示列名 | 具体描述 |
---|---|
Compiled | 编译任务执行数量 |
Failed | 编译任务执行错误的数量 |
Invalid | 编译任务执行失效的数量 |
Time | 编译任务执行的时间 |
FailedType | 编译任务最后一个执行的类型 |
FailedMethod | 最后一个编译失败任务所在的类及方法 |
例子如下
1 | jstat -compiler 86517 |
jstat -gc
列名 | 描述 |
---|---|
S0C | 幸存区Survior1 S0空间容量 (kb) |
S1C | 幸存区Survior S1空间容量(kb) |
S0U | 幸存区Survior1 S0使用空间(kb) |
S1U | 幸存区Survior S1 使用空间(kb) |
EC | Eden 区空间容量(kb) |
EU | Eden 区使用空间(kb) |
OC | 老年代Old空间容量(kb) |
OU | 老年代Old(kb) |
MC | 元空间MetaSpace 空间容量(kb) |
MU | 元空间MetaSpace使用空间(kb) |
CCSC | 压缩类空间容量(kb) |
CCSU | 压缩类使用空间(kb) |
YGC | 年轻代gc回收数量 |
YGCT | 年轻代gc收集时间 |
FGC | full gc执行数量 |
FGCT | full gc 执行总时间 |
GCT | 总垃圾回收时间 |
例子如下
1 | jstat -gc 86517 |
jstat -gccapacity pid 查看内存中堆的分代内存大小
列名 | 描述 |
---|---|
NGCMN | Young 年轻代最小的新一代容量(kB) |
NGCMX | Young 年轻代最大新一代容量(kB) |
NGC | Young 年轻代 当前容量(kB) |
S0C | 幸存区Survior S0空间容量 (kB) |
S1C | 幸存区Survior S1空间容量 (kB) |
EC | Eden区空间容量(kB) |
OGCMN | Old老年代最小的新一代容量(kB) |
OGCMX | Old老年代最大新一代容量(kB) |
OGC | 当前Old老年代容量(kB) |
OC | 当前旧的Old老年代容量(kB) |
MCMN | 最小Metaspace元空间容量(kB) |
MCMX | 最大Metaspace元空间容量(kB) |
MC | Metaspace元空间容量(kB) |
CCSMN | 压缩类最小空间(kB) |
CCSMX | 压缩类最大空间(kB) |
CCSC | 压缩类的空间(kB) |
YGC | 年轻代 GC 事件的数量 |
FGC | Full GC 事件的数量 |
例子如下:
1 | jstat -gccapacity 86517 |
jstat -gccause 86517
S0 S1 E O M CCS YGC YGCT FGC FGCT GCT LGCC GCC
0.00 7.93 42.77 86.85 93.51 79.91 425 9.173 0 0.000 9.173 CMS Initial Mark No GC
1 |
|
jstat -gcnew 86517
S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
66560.0 66560.0 0.0 5509.0 10 10 33280.0 532480.0 173025.7 465 9.724
1 |
|
jstat -gcnewcapacity 86517
NGCMN NGCMX NGC S0CMX S0C S1CMX S1C ECMX EC YGC FGC
0.0 665600.0 665600.0 66560.0 66560.0 66560.0 66560.0 532480.0 532480.0 512 0
1 |
|
jstat -gcold 86517
MC MU CCSC CCSU OC OU YGC FGC FGCT GCT
104656.0 97895.1 14492.0 11590.2 1431552.0 1245031.1 924 0 0.000 16.289
1 |
|
jstat -gcoldcapacity 86517
OGCMN OGCMX OGC OC YGC FGC FGCT GCT
0.0 1431552.0 1431552.0 1431552.0 1431552.0 939 0 0.000 16.459
1 |
|
jstat -gcmetacapacity 86517
MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC FGCT GCT
0.0 1140736.0 104656.0 0.0 1048576.0 14492.0 965 0 0.000 16.805
1 |
|
jstat -gcutil 86517
S0 S1 E O M CCS YGC YGCT FGC FGCT GCT
0.00 7.40 71.87 86.94 93.55 79.98 979 16.992 0 0.000 16.992
1 |
|
jstat -printcompilation 86517
Compiled Size Type Method
29939 77 1 org/apache/lucene/codecs/perfield/PerFieldDocValuesFormat$FieldsWriter
----
[Oracle官方文档](https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html)