问题现象:请求无响应,线程粘滞。
问题定位:
第一步:通过jstat命令可以查看JVM的内存使用和垃圾回收情况:
jstat –gcutil <pid> <timediff> > <filename>
<pid>为进程号,<timediff>为每次输出的间隔ms,> <filename>是将结果输出至文件中,可以省略,直接输出到控制台
该命令的输出:
S0、S1:代表S0/S1的内存占用百分比
E、O、P:代表Eden、Old、Perm的内存占用百分比
YGC、FGC:代表从进程启动以来YoungGC和FullGC的执行总次数
YGCT、FGCT、GCT:代表从进程启动以来YoungGC和FullGC的耗时总和,以及整体GC的耗时总和
观察Old Gen内存占用的增长速度,以及GC的频次:
正常的:
异常的:
如果jstat命令输出的内存使用与GC信息是正