Java学习笔记 (三) Java常用命令 jstat 虚拟机统计信息监视工具

jstat的用处

    jstat(Java Statistics Monitoring Tool) 是用于监视虚拟机各种运行状态信息的命令行工具,
它可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据,在没有GUI图形界面,
只提供了纯文本控制台环境的服务器上,它将是运行期定位虚拟机性能问题的首选。

jstat 命令格式

jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]

这里写图片描述

参数简介:
  • option:选项,一般使用 -gcutil 查看gc情况。
  • vmid: VM的进程号.虚拟机进程号。
  • interval:间隔时间,单位为秒或者毫秒
  • count: 打印次数,如果缺省会一直打印下去
注意事项:
    1.参数interval和count代表查询间隔时间与次数,如果省略这两个参数,说明只查询一次。
    2.命令格式中的vmid是虚拟机进程号,lvmid是本地虚拟机进程号,如果是本地虚拟机进程,
    vmid==lvmid,如果是远程虚拟机进程,那么vmid的格式为:
[protocol:][//] lvmid [@hostname[:port]/servername]
jstat -option vmid interval count
假设需要每隔1秒,查询一次进程23960的垃圾收集情况,一共查询5次,那么命令如下:
jstat -gc 23960 1s 5   //interval 后缀时间单位缺省时默认为ms 只能设置为 ms 或者 s

执行结果如下:
这里写图片描述

jstat 主要选项如下:

选项作用
-class监视类装载、卸载数量、总空间以及类装载所耗费的时间
-gc监视Java堆状况,包括Eden区、两个survivor区、老年代、永久代等的容量、已用空间、GC时间合计等信息
-gccapacity监视内容基本与-gc相同,但输出主要关注java堆各个区域使用到的最大最小空间
-gcutil监视内容基本与-gc相同,但输出主要关注已使用空间占总空间的百分比
-gccause与-gcutil功能一样,但是会额外输出导致上一次GC产生的原因
-gcnew监视新生代GC状况
-gcnewcapacity监视内容与-gcnew基本相同,输出主要关注使用到的最大、最小空间
-gcold监视老年代GC状况
-gcoldcapacity监视内容与-gcold基本相同,输出主要关注使用到的最大、最小空间
-gcpermcapacity输出永久代使用到的最大、最小空间(jdk1.8 以后无法使用
-compiler输出JIT编译器编译过的方法、耗时等信息
-printcompilation输出已经被JIT编译的方法

jstat 返回信息各列的含义:

列名描述
S0CSurvivor0的当前容量
S1CSurvivor1的当前容量
S0USurvivor0的使用量
S1USurvivor1的使用量
ECEden区的当前容量
EUEden区的使用量
OCold区的当前容量
OUold区的使用量
PC方法区的当前容量
PU方法区的使用量
YGCYoung GC次数
YGCTYoung GC累积耗时
FGCFull GC次数
FGCTFull GC累积耗时
GCTGC总的累积耗时
NGCMN新生代最小容量
NGCMX新生代最大容量
NGC新生代当前容量
OGCMN老年代最小容量
OGCMX老年代最大容量
OGC老年代当前容量
PGCMN方法区最小容量
PGCMX方法区最大容量
PGC方法区当前容量
PC方法区的当前容量
PU方法区使用量
LGCC上一次GC发生的原因
GCC当前GC发生的原因
TT存活阀值,如果对象在新生代移动次数超过此阀值,则会被移到老年代
MTT最大存活阀值,如果对象在新生代移动次数超过此阀值,则会被移到老年代
DSSsurvivor区的理想容量

jstat 各选项执行效果

jstat -class 23960 100 5

这里写图片描述

jstat -gc 23960 100 5

这里写图片描述

jstat -gccapacity 23960 100 5

这里写图片描述

jstat -gcutil 23960 100 5

这里写图片描述

jstat -gccause 23960 100 5

这里写图片描述

jstat -gcnew 23960 100 5

这里写图片描述

jstat -gcnewcapacity 23960 100 5

这里写图片描述

jstat -gcold 23960 100 5

这里写图片描述

jstat -gcoldcapacity 23960 100 5

这里写图片描述

jstat -gcpermcapacity 23960 100 5 

这里写图片描述

这个选项是输出永久代使用到的最大、最小空间,我用的是JDK1.8,1.8已经移除了永久代,所以报错了。

jstat -compiler 23960 100 5

这里写图片描述

jstat -printcompilation 23960 100 5

这里写图片描述

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值