持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第3天,点击查看活动详情
在平时对JAVA程序进行调优时,需要监控程序的运行状态,除了程序的正确性,错误率等。还有包括JVM的运行状态等,比如GC的次数FGC的次数和时间等。
jstat命令参数
通过jstat -help看到支持以下参数
其中option参数支持参数如下,通过jstat -options命令查看
| 参数 | 说明 |
|---|---|
| option | 支持上面图片类型 |
| vmid | 进程的ID |
| interval | 间隔多少时间刷新一次统计,单位为毫秒 |
| count | 打印次数 |
option参数说明
| 参数 | 说明 |
|---|---|
| class | 类加载的行为统计 |
| compiler | HotSpot JIT编译器行为统计 |
| gc | 垃圾回收堆的行为统计 |
| gccapacity | 各个垃圾回收代容量(young、old、perm)和他们相应的空间统计 |
| gcutil | 垃圾回收统计概述,比如伊甸园区使用百分之多少空间 |
| gccause | 垃圾收集器概述 |
| gcnew | 新生代行为统计 |
| gcnewcapacity | 新生代与其相应的内存空间的统计 |
| gcold | 老年代和永久代行为统计 |
| gcoldcapacity | 老年代行为统计 |
| gcmetacapacity | 元数据区行为统计 |
| printcompilation | HotSpot编译方法统计 |
命令说明
jstat [option] vmid [interval][count]
例如:
jstat -class 1234 1000 5
会显示类加载的情况,每间隔1s(即1000ms)刷新数据,刷新5次数据后停止。
如上面显示5次类加载情况,间隔1s刷新一次,5次刷新后停止。
jstat -class
命令,1234为进程的ID
jstat -class 1234
| 结果字段 | 说明 |
|---|---|
| Loaded | 加载的类数量 |
| Bytes | 加载类的字节数 |
| Unloaded | 未加载的类数量 |
| Bytes | 未加载的类的字节数 |
| Time | 加载需要的时间 |
jstat -compiler
JIT编译器行为统计,编译方法的数量,失败数量,时长等。
jstat -compiler 1234
| 结果字段 | 说明 |
|---|---|
| Compiled | 编译数量 |
| Failed | 编译失败数量 |
| Invalid | 无效数量 |
| Time | 编译时间 |
| FailedType | 失败类型 |
| FailedMethod | 编译失败的方法名称 |
jstat -gc
垃圾回收堆的行为统计
jstat -gc 1234
编辑切换为居中
添加图片注释,不超过 140 字(可选)
| 结果字段 | 说明 |
|---|---|
| S0C | 年轻代第一个Survivor区的大小 |
| S1C | 年轻代第二个Survivor区的大小 |
| S0U | 年轻代第一个Survivor区的使用的大小 |
| S1U | 年轻代第二个Survivor区的使用的大小 |
| EC | 年轻代中Eden区的大小 |
| EU | 年轻代中Eden区的使用的大小 |
| OC | 年老代大小 |
| OU | 年老代使用的大小 |
| MC | 方法区大小 |
| MU | 方法区使用的大小 |
| CCSC | 压缩类空间大小 |
| CCSU | 压缩类空间使用大小 |
| YGC | 年轻代垃圾回收次数 |
| YGCT | 年轻代垃圾回收消耗时间 |
| FGC | 老年代垃圾回收次数 |
| FGCT | 老年代垃圾回收消耗时间 |
| GCT | GC消耗总时间 |
jstat -gccapacity
jstat -gccapacity 1234
编辑切换为居中
添加图片注释,不超过 140 字(可选)
| 结果字段 | 说明 |
|---|---|
| NGCMN | 新生代最小容量 |
| NGCMX | 新生代最大容量 |
| NGC | 当前新生代容量 |
| S0C | 第一个Survivor区大小 |
| S1C | 第二个Survivor区的大小 |
| EC | Eden区的大小 |
| OGCMN | 老年代最小容量 |
| OGCMX | 老年代最大容量 |
| OGC | 当前老年代大小 |
| OC | 当前老年代大小 |
| MCMN | 最小元数据容量 |
| MCMX | 最大元数据容量 |
| MC | 当前元数据空间大小 |
| CCSMN | 最小压缩类空间大小 |
| CCSMX | 最大压缩类空间大小 |
| CCSC | 当前压缩类空间大小 |
| YGC | 年轻代gc次数 |
| FGC | 老年代GC次数即Full GC |
jstat -gcutil
jstat -gcutil 1234
| 结果字段 | 说明 |
|---|---|
| S0 | 第一个Servivor区当前使用比例 |
| S1 | 第二个Servivor区当前使用比例 |
| E | Eden区使用比例 |
| O | 老年代使用比例 |
| M | 元数据区使用比例 |
| CCS | 压缩使用比例 |
| YGC | 年轻代垃圾回收次数 |
| YGCT | 年轻代垃圾回收消耗时间 |
| FGC | 老年代垃圾回收次数 |
| FGCT | 老年代垃圾回收消耗时间 |
| GCT | 垃圾回收消耗总时间 |