Jstat是JDK中提供的一个简单实用工具,用于提供与JVM性能相关的统计信息,例如垃圾收集和编译活动。 jstat的主要优势在于,它可以在运行JVM且无需任何先决条件的情况下动态捕获这些指标。
那是什么意思? 例如,如果要捕获与垃圾回收相关的统计信息,则在启动JVM之前需要传递以下参数:
-Xlog:gc*:file={file-path}
此参数将启用GC日志并将其打印在指定的文件路径中。 假设您尚未传递此参数,那么将不会生成与GC相关的统计信息。 这是jstat可以派上用场的地方。 动态地,您可以连接到JVM并捕获GC,编译相关的统计信息如下所示。
如何启动jstat
执行以下命令。 这是启动jstat的简单选项。
jstat -gc -t 11656 10000 30
-gc:将显示与垃圾收集相关的统计信息
-t:将打印自JVM启动以来的时间戳记
11656:目标JVM进程ID
10000:每10,000毫秒(即10秒)将打印一次统计信息。
30:将打印30次迭代的统计信息。 因此,以上选项将导致JVM打印指标300秒(即10秒x 30次迭代)。
(请注意,除了-gc之外