收集特定时间范围内的 JVM GC 样本

collecting JVM GC samples within a specific time range

我正在尝试使用 'jstat' gcutil 命令获取 JVM GC 统计信息。

jstat -gcutil -t 32351

这是return给我当前时间的一个样本。

我也明白使用 $ jstat -gcutil -t 32351 1s 5 将 return 我从当前时间间隔 1s 的 5 个样本。

我希望能够获得过去 5 分钟的 GC 统计信息。或在特定时间范围内。 我尝试在线浏览但无法弄清楚。 任何人都可以指导我吗?

命令jstat只提供实时统计,如果你想访问过去的统计,你应该重定向将输出流转换成文件并查询文件。

例如,假设您想要每秒钟 java 进程的统计数据,您可以启动

jstat -gcutil <process-id> 1s > mystats

然后要获取最后 5 分钟,您可以简单地显示最后 300

tail -300 mystats