jstat 是一个 JDK 自带的命令行工具,用于监视 JVM 运行时状态信息,如垃圾收集、堆内存使用等。它可以显示出 JVM 各个部分的统计信息,便于开发人员和运维人员监控和调优 JVM 应用程序。
jstat 的基本语法如下:
jstat [ options ] pid [interval [s|ms] [count] ]
其中,options 为命令选项,pid 为进程 ID,interval 为刷新间隔时间,s 表示秒,ms 表示毫秒,count 表示刷新次数。
下面介绍一些常用的 jstat 命令选项及其含义:
-gc:显示垃圾回收统计信息。
-class:显示类加载和卸载统计信息。
-compiler:显示 JIT 编译器统计信息。
-gcnew:显示新生代垃圾回收统计信息。
-gcold:显示老年代垃圾回收统计信息。
-gcutil:显示垃圾回收统计摘要信息。
-printcompilation:显示 JIT 编译方法列表。
下面举例说明 jstat 的使用方法:
1、显示垃圾回收统计信息
jstat -gc pid 1000 10
表示每隔 1 秒刷新一次,刷新 10 次,显示垃圾回收统计信息。
2、显示类加载和卸载统计信息
jstat -class pid 1000 10
表示每隔 1 秒刷新一次,刷新 10 次,显示类加载和卸载统计信息。
3、显示 JIT 编译器统计信息
jstat -compiler pid 1000 10
表示每隔 1 秒刷新一次,刷新 10 次,显示 JIT 编译器统计信息。
4、显示新生代垃圾回收统计信息
jstat -gcnew pid 1000 10
表示每隔 1 秒刷新一次,刷新 10 次,显示新生代垃圾回收统计信息。
5、显示老年代垃圾回收统计信息
jstat -gcold pid 1000 10
表示每隔 1 秒刷新一次,刷新 10 次,显示老年代垃圾回收统计信息。
6、显示垃圾回收统计摘要信息
jstat -gcutil pid 1000 10
表示每隔 1 秒刷新一次,刷新 10 次,显示垃圾回收统计摘要信息。
7、显示 JIT 编译方法列表
jstat -printcompilation pid