使用jstat gcutil命令可以查看垃圾回收的统计信息,包括垃圾回收次数和垃圾回收所占用的时间百分比。
以下是使用jstat gcutil命令的语法:
参数pid是JVM进程的ID,interval是采样间隔的时间(以毫秒为单位),count是采样次数。
jstat -gcutil <pid> <interval> <count>
jstat -gcutil 12345 1000 10
在上述示例中,我们使用进程ID为12345,设置采样间隔为1000毫秒,采样次数为10次。这意味着jstat将每隔1秒对进程进行一次垃圾回收统计采样,共采样10次。
执行命令后,您将获得类似于以下输出:
S0 S1 E O M CCS YGC YGCT FGC FGCT GCT
0.00 0.00 50.00 70.12 74.46 67.03 10 0.200 2 0.100 0.300
0.00 0.00 50.00 70.12 74.46 67.03 20 0.400 4 0.200 0.600
0.00 0.00 50.00 70.12 74.46 67.03 30 0.600 6 0.300 0.900
0.00 0.00 50.00 70.12 74.46 67.03 40 0.800 8 0.400 1.200
0.00 0.00 50.00 70.12 74.46 67.03 50 1.000 10 0.500 1.500
0.00 0.00 50.00 70.12 74.46 67.03 60 1.200 12 0.600 1.800
0.00 0.00 50.00 70.12 74.46 67.03 70 1.400 14 0.700 2.100
0.00 0.00 50.00 70.12 74.46 67.03 80 1.600 16 0.800 2.400
0.00 0.00 50.00 70.12 74.46 67.03 90 1.800 18 0.900 2.700
0.00 0.00 50.00 70.12 74.46 67.03 100 2.000 20 1.000 3.000
在此示例中,输出显示了每次采样的垃圾回收统计信息。您可以观察不同区域(S0、S1、E、O、M、CCS)的垃圾回收百分比(以小数形式表示),以及年轻代垃圾回收次数(YGC)、年轻代垃圾回收所占用的时间(YGCT)、全局垃圾回收次数(FGC)、全局垃圾回收所占用的时间(FGCT)和总的垃圾回收时间(GCT)。