jstat(jvm statistics monitor tool) 用于监控虚拟机的运行信息,例如类加载情况、垃圾回收情况、编译器情况的数据,常用于定位虚拟机的性能问题。
命令格式:
jstat 选项 进程ID 统计间隔时间 统计次数
统计间隔时间、统计次数如果省略的话,说明只统计一次。
示例:
$ jstat -gcutil 1132
image
这个例子统计了堆状况,关注已使用空间占总空间的半分比。
各个统计项含义:
- S0 S1 - 两个 survivor 区,survivor0、survivor1
- E - 新生代 Eden 区
- O - 老年代 Old 区
- M - metaspace 元空间
- CCS - 压缩的类空间
- YGC - 新生代垃圾回收次数
- YGCT - 新生代垃圾回收耗时
- FGC - full gc 次数
- FGCT - full gc 耗时
- GCT - 垃圾回收总耗时
选项说明:
选项 | 作用 |
---|---|
-class | 监视类装载、卸载数量、总空间,及类装载耗时 |
-gc | 监视堆状况,包括 Eden、Survivor、老年代、永久带等容量、已用空间、GC时间等 |
-gccapacity | 监视内容与 -gc 相同,但主要关注堆各个区域使用到的最大、最小空间 |
-gcutil | 监视内容与 -gc 相同,但主要关注已使用空间占总空间的百分比 |
-gcnew | 监视新生代GC状况 |
-gcnewcapacity | 监视内容与 -gcnew 相同,但主要关注使用到的最大、最小空间 |
-gcold | 监视老年代GC状况 |
-compiler | 输出JIT编译器编译过的方法、耗时等信息 |
jstat 选项非常多,更多信息可以查看文档,地址:
https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html
网友评论