jstat(JVM Statistics Monitoring Tool) 是用于监控JVM各种运行状态信息的命令行工具。
命令格式
jstat option vmid [ interval[s|ms] count ]
vmid:jvm进程id
interval:查询间隔支持毫秒和秒,默认毫秒
count:查询次数
option:
| |
---|---|
option
|
作用
|
-class | 监视类装载、卸载数量、总空间以及类装载所耗费的时间 |
-gc | 监视Java堆状况,包括Eden区、survior区、old区、永久代等的容量、已用空间、gc时间合计等信息 |
-gccapacity | 监视内容与-gc基本相同,但输出主要关注java堆各个区域使用到的最大、最小空间 |
-gcutil | 监视内容与-gc基本相同,但输出主要关注java堆已使用空间占总空间的百分比 |
-gccause | 与-gcutil相同,但额外会输出导致上一次gc产生的原因 |
-gcnew | 监视新生代gc状况 |
-gcnewcapacity | 监视内容与-gcnew基本相同,但输出主要关注j使用到的最大、最小空间 |
-gcold | 监视老年代gc状况 |
-gcoldcapacity | 监视内容与-gcold基本相同,但输出主要关注j使用到的最大、最小空间 |
-gcpermcapacity(java7 之前) | 输出永久代使用到的最大和最小空间 |
-gcmetacapacity(java8才有) | 输出metaspace的最大和最小空间 |
-compiler | 输出JIT编译器编译过的方法和耗时等信息 |
-printcompilation | 输出已经被JIT编译器编译的方法 |
各个option以及对应输出的意义可以参考java doc
java8(java8移出了永久代,引入metaspace):http://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html
java7:http://docs.oracle.com/javase/7/docs/technotes/tools/share/jstat.html