赞
踩
jstat 是JDK自带的一个轻量级小工具,可以用来分析java程序垃圾回收相关信息。
使用方式
- jstat -help
- Usage: jstat -help|-options
- jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
-
- option: 参数选项,例-gc 或者-gcutil 查看gc情况
- -t: 可以在打印的列加上Timestamp列,用于显示系统运行的时间【ps 非必须】
- -h: 指定输出多少行以后输出一次表头【ps 非必须】
- vmid: Virtual Machine ID( 进程的 pid)
- interval: 执行每次的间隔时间(单位为毫秒)
- count: 用于指定输出多少次记录,缺省则会一直打印
-
- 打印当前gc情况
-
- jstat -gc pid
-
- 需要循环打印,设置时间间隔即可
-
- jstat -gc pid 5000
option
class | 类加载器的行为统计 |
compiler | HotSpot即时编译器的行为统计 |
gc | 堆的垃圾回收器的行为统计 |
gccapacity | Java各代区域以及对应空间的容量统计 |
gccause | 垃圾回收的摘要信息(等同于-gcutil), 以及最后的和当前的(如适用)垃圾回收事件的原因。 |
gcnew | new generation的行为统计 |
gcnewcapacity | new generation及其对应空间的大小统计。 |
gcold | old和permanent generation的行为统计。 |
gcoldcapacity | old generation的大小统计。 |
gcpermcapacity | permanent generation的大小统计。 |
gcutil | 垃圾回收统计的摘要信息。 |
printcompilation | HotSpot汇编方法统计。 |
-class
- jstat -class 13284
- Loaded Bytes Unloaded Bytes Time
- 10911 20854.7 0 0.0 6.54
-
- Loaded:加载的类数。
-
- Bytes:加载的kB数。
-
- Unloaded:卸载的类数。
-
- Bytes:卸载的Kbytes数。
-
- Time:执行类加载和卸载操作所花费的时间。
-compiler
- jstat -compiler 13284
- Compiled Failed Invalid Time FailedType FailedMethod
- 7084 1 0 1.85 1 java/util/Properties getProperty
-
- Compiled:执行的编译任务数。
-
- Failed:编译任务失败次数。
-
- Invalid:已失效的编译任务数。
-
- Time:执行编译任务所花费的时间。
-
- FailedType:编译上次失败编译的类型。
-
- FailedMethod:上次失败编译的类名和
-gc
- jstat -gc 13284
- S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
- 24064.0 25088.0 0.0 0.0 776192.0 142758.7 173056.0 41895.2 59008.0 57668.0 7552.0 7217.5 12 0.183 3 0.230 0.413
-
-
- S0C:年轻代中第一个survivor(幸存区)的容量 (kb)
- S1C:年轻代中第二个survivor(幸存区)的容量 (kb)
- S0U:年轻代中第一个survivor(幸存区)目前已使用空间 (kb)
- S1U:年轻代中第二个survivor(幸存区)目前已使用空间 (kb)
- EC:年轻代中Eden(伊甸园)的容量 (kb)
- EU:年轻代中Eden(伊甸园)目前已使用空间 (kb)
- OC:Old代的容量 (kb)
- OU:Old代目前已使用空间 (kb)
- MC:元空间容量(kB)。
- MU:Metacspace利用率(kB)
- CCSC:压缩类空间容量(kB)。
- CCSU:使用的压缩类空间(kB)
- PC:Perm(持久代)的容量 (kb)
- PU:Perm(持久代)目前已使用空间 (kb)
- YGC:从应用程序启动到采样时年轻代中gc次数
- YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)
- FGC:从应用程序启动到采样时old代(全gc)gc次数
- FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)
- GCT:从应用程序启动到采样时gc用的总时间(s)
-gccapacity
- jstat -gccapacity 13284
- NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC
- 87040.0 1388544.0 835584.0 24064.0 25088.0 776192.0 175104.0 2777088.0 173056.0 173056.0 0.0 1101824.0 59008.0 0.0 1048576.0 7552.0 12 3
-
- NGCMN:年轻代(young)中初始化(最小)的大小 (kb)
- NGCMX:年轻代(young)的最大容量 (kb)
- NGC:年轻代(young)中当前的容量 (kb)
- S0C:年轻代中第一个survivor(幸存区)的容量 (kb)
- S1C:年轻代中第二个survivor(幸存区)的容量 (kb)
- EC:年轻代中Eden(伊甸园)的容量 (kb)
- OGCMN:old代中初始化(最小)的大小 (kb)
- OGCMX:old代的最大容量 (kb)
- OGC:old代当前新生成的容量 (kb)
- OC:Old代的容量 (kb)
- MCMN:最小元空间容量(kB)
- MCMX:最大元空间容量(kB)
- MC:元空间容量(kB)
- CCSMN:压缩类空间最小容量(kB)
- CCSMX:压缩类空间最大容量(kB)
- CCSC:压缩类空间容量(kB)
- YGC:年轻代GC事件的数量
- FGC:从应用程序启动到采样时old代(全gc)gc次数
-gccause
- jstat -gccause 13284
- S0 S1 E O M CCS YGC YGCT FGC FGCT GCT LGCC GCC
- 0.00 0.00 41.85 24.21 97.73 95.57 12 0.183 3 0.230 0.413 Metadata GC Threshold No GC
-
- 此选项显示与该选项相同的垃圾收集统计信息摘要 -gcutil ,但包括上次垃圾收集事件的原因以及(如果适用)当前垃圾收集事件的原因。除了列出的列之外 -gcutil,此选项还添加以下列。
-
- LGCC:上次垃圾回收的原因
-
- GCC:当前垃圾回收的原因
-gcnew
S0C:年轻代中第一个survivor(幸存区)的容量 (kb) S1C:年轻代中第二个survivor(幸存区)的容量 (kb) S0U:年轻代中第一个survivor(幸存区)目前已使用空间 (kb) S1U:年轻代中第二个survivor(幸存区)目前已使用空间 (kb) TT:持有次数限制 MTT:最大持有次数限制 DSS:当前需要survivor(幸存区)的容量 (kb)(Eden区已满) EC:年轻代中Eden(伊甸园)的容量 (kb) EU:年轻代中Eden(伊甸园)目前已使用空间 (kb) YGC:从应用程序启动到采样时年轻代中gc次数 YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)
-gcutil
- S0 S1 E O M CCS YGC YGCT FGC FGCT GCT
- 0.00 0.00 52.62 24.21 97.73 95.57 12 0.183 3 0.230 0.413
-
- S0:年轻代中第一个survivor(幸存区)已使用的占当前容量百分比
-
- S1:年轻代中第二个survivor(幸存区)已使用的占当前容量百分比
-
- E:年轻代中Eden(伊甸园)已使用的占当前容量百分比
-
- O:old代已使用的占当前容量百分比
-
- M:元空间利用率占空间当前容量的百分比
-
- CCS:压缩的类空间利用率百分比
-
- YGC:年轻一代GC事件的数量
-
- YGCT:年轻一代垃圾收集时间
-
- FGC:old代(全gc)gc次数
-
- FGCT:old代(全gc)gc所用时间(s)
-
- GCT:从应用程序启动到采样时gc用的总时间(s)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。