[JVM工具(1)] 堆栈检查利器jstat的使用

 [JVM工具(1)] 堆栈检查利器jstat的使用

jstat

可以检查 JVM 整体的运行情况,可以看到 新生代,老年代等的内存使用情况,以及GC 次数和耗时

命令格式 如 jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]

其中 -option 必选参数表示命令参数 如 gc 等, -t 为可选参数表示是否打印时间(秒),-h<lines> 可选参数,表示每隔多少行打印头部列表,如设置 -h 5 , 那么每五条记录就会重新打印表头,vmid 必选参数,Java 进程id,interval 可选参数表示采样的时间间隔,count 可选参数表示需要采样多少条,

 [JVM工具(1)] 堆栈检查利器jstat的使用

jstat -gc pid

jstat -gc pid 这是最常用的语法,可以直接查看内存和垃圾回收情况

首先我们要获得Java 进程的 PID 信息,可以通过 jps 命令来获取

之后执行 jstat -gc pid 即可看到对应 Java 进程的内存情况,如下:

 [JVM工具(1)] 堆栈检查利器jstat的使用

这里说明一下关于这些列名的含义

S0C : 新生代中第一个 Survivor (即 From 区)的容量大小 (千字节)

S1C : 新生代中第二个 Survivor (即 To 区)的容量大小 (千字节)

S0U : 新生代 From Survivor 区已使用内存大小(千字节)

S1U : 新生代 To Survivor 区一使用内存大小(千字节)

EC : 新生代 Eden 区的容量大小(千字节)

EU : 新生代 Eden 区已使用内存大小(千字节)

OC : 老年代空间容量大小(千字节)

OU : 老年代已使用内存大小(千字节)

MC : 方法区的空间大小 (千字节)

MU : 方法区已使用的空间大小(千字节)

YGC : 从系统启动到现在 Young GC/Minor GC 的次数

YGCT : Young GC 总耗时(秒)

FGC :从系统启动到现在 Full GC 的次数

FGCT : Full GC 的总耗时(秒)

GCT : 垃圾回收总的耗时(秒)

NGCMN :年轻代( young )中初始化(最小)的大小 (千字节)

NGCMX :年轻代( young )的最大容量 (千字节)

GC :年轻代( young )中当前的容量 (千字节)

OGCMN : old 代中初始化(最小)的大小 (千字节)

OGCMX : old 代的最大容量 (千字节)

OGC : old 代当前新生成的容量 (千字节)

PGCMN : perm 代中初始化(最小)的大小 (千字节)

PGCMX : perm 代的最大容量 (千字节)

PGC : perm 代当前新生成的容量 (千字节)

S0 :年轻代中 From survivor (幸存区)已使用的占当前容量百分比

S1 :年轻代中 To Survivor (幸存区)已使用的占当前容量百分比

E :年轻代中 Eden (伊甸园)已使用的占当前容量百分比

O : old 代已使用的占当前容量百分比

P : perm 代已使用的占当前容量百分比

S0CMX :年轻代中 From survivor (幸存区)的最大容量 (千字节)

S1CMX :年轻代中 To Survivor (幸存区)的最大容量 (千字节)

ECMX :年轻代中 Eden (伊甸园)的最大容量 (千字节)

DSS :当前需要 survivor (幸存区)的容量 (千字节)( Eden 区已满)

TT : 持有次数限制

MTT : 最大持有次数限制

jstat -gcutil PID

一般我们还可以通过 jstat -gcutil pid 来获取分代年龄的使用情况,显示为占比,如下,表头参考上面

 [JVM工具(1)] 堆栈检查利器jstat的使用

jstat -gccapacity PID

-gccapacity 命令主要用来分析堆内存,用法参考上面,如下效果,表头含义参看上面

 [JVM工具(1)] 堆栈检查利器jstat的使用

其他一些命令参数

jstat -gcnew PID : 年轻代GC 分析,其中 TT 和 MTT 可以看到对象在年龄代存活的年龄和存活的最大年龄

 [JVM工具(1)] 堆栈检查利器jstat的使用

jstat -gcnewcapacity PID : 年轻代内存分析

 [JVM工具(1)] 堆栈检查利器jstat的使用

jstat -gcold PID: 老年代 GC 分析

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpywjy.html