jstat用于详细查看堆内各个部分的使用量,以及加载类的数量。使用时,需加上查看进程的进程id,和所选参数。
jstat - [-t] [-h] [ []]
Options — 选项,我们一般使用 -gcutil 查看gc情况
vmid — VM的进程号,即当前运行的java进程号
interval– 间隔时间,单位为秒或者毫秒
count — 打印次数,如果缺省则打印无数次
使用示例:
jstat -gcutil 25512 1000 1000
S0 S1 E O P YGC YGCT FGC FGCT GCT
0.00 50.00 1.67 83.78 17.98 103187 422.266 2519 180.364 602.630
0.00 50.00 6.72 83.78 17.98 103187 422.266 2519 180.364 602.630
0.00 50.00 11.74 83.78 17.98 103187 422.266 2519 180.364 602.630
0.00 50.00 16.69 83.78 17.98 103187 422.266 2519 180.364 602.630
0.00 50.00 21.68 83.78 17.98 103187 422.266 2519 180.364 602.630
0.00 50.00 26.66 83.78 17.98 103187 422.266 2519 180.364 602.630
0.00 50.00 31.62 83.78 17.98 103187 422.266 2519 180.364 602.630
各参数对应jvm的分代内存:
S0 — Heap上的 Survivor space 0 区已使用空间的百分比
S1 — Heap上的 Survivor space 1 区已使用空间的百分比
E — Heap上的 Eden space 区已使用空间的百分比
O — Heap上的 Old space 区已使用空间的百分比
P — Perm space 区已使用空间的百分比
YGC — 从应用程序启动到采样时发生 Young GC 的次数
YGCT– 从应用程序启动到采样时 Young GC 所用的时间(单位秒) FGC — 从应用程序启动到采样时发生 Full GC 的次数
FGCT– 从应用程序启动到采样时 Full GC 所用的时间(单位秒)
GCT — 从应用程序启动到采样时用于垃圾回收的总时间(单位秒)