jstat: 虚拟机统计信息监视工具
介绍
用于监视虚拟机各种运行信息的工具。它可以显示本地或着远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。
jstat命令
jstat[options vmid[interval[s|ms][count]]]
interval 和 count 代表查询间隔和次数,如果缺省这两个参数,说明只查询一次
options参数说明
选项 | 作用 |
---|---|
-class | 监视类装载、卸载数量、总空间以及类装载所耗费的时间 |
-gc | 监视java堆状况,包括Eden区、两个survivor区、老年代、永久代的容量、已用空间、GC时间合计等信息 |
-gccapacity | 监视内容与 -gc 基本相同,但是输出主要关注Java堆各个区域使用到的最大、最小空间 |
-gcutil | 监视内容与 -gc 基本相同,但是主要关注已使用空间占总空间的百分比 |
-gccause | 与状况 -gcutil 功能一样,但是会额外输出导致上次gc产生的原因 |
-gcnew | 监视新生代gc状况 |
-gcnewcapacity | 监视内容与 -gcnew 基本相同,但是输出主要关注使用到的最大、最小空间 |
-gcold | 监视老年代gc状况 |
-gcoldcapacity | 监视内容与 -gcold 基本相同,但是输出主要关注使用到的最大、最小空间 |
-gcpermcapacity | 输出永久代使用到的最大、最小空间 |
-compiler | 输出 JIT 编译器编译过的方法、耗时等信息 |
-printcompilation | 输出已经被 JIT 编译的方法 |
更多参数信息可以查看文档,地址:
https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html
简单例子说明
jstat -gc 26937 250 2
其中各个统计项含义:
capacity:总容量
utilization:已使用
- S0C: Current survivor space 0 capacity (kB).
- S1C: Current survivor space 1 capacity (kB).
- S0U: Survivor space 0 utilization (kB).
- S1U: Survivor space 1 utilization (kB).
- EC: Current eden space capacity (kB).
- EU: Eden space utilization (kB).
- OC: Current old space capacity (kB).
- OU: Old space utilization (kB).
- MC: Metaspace capacity (kB).
- MU: Metacspace utilization (kB).
- CCSC: Compressed class space capacity (kB).
- CCSU: Compressed class space used (kB).
- YGC - 新生代垃圾回收次数
- YGCT - 新生代垃圾回收耗时
- FGC - full gc 次数
- FGCT - full gc 耗时
- GCT - 垃圾回收总耗时