JVM命令-jstat

jstat用法如下:

jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
-t :代表时间粗
-h<lines>:即-h跟数字,代表隔几行显示标题
vmid :代表vm进程id
interval:代表监控间隔时间段,默认毫秒做单位
count:代表取数次数
例:jstat -gcutil -t -h5 123456 1000 100
表示每1000毫秒收集一次jvm内存和gc信息,共收集100次,每隔5行显示一次标题,且标题行带时间戳

一、命令说明

option 选项

  • class
    显示classLoader 相关信息
  • compiler
    显示 JIT 编译相关信息
  • gc
    显示与 GC 相关堆信息
  • gccapacity
    显示各个代的容量以及使用情况
  • gccause
    显示垃圾收集相关信息,最后一次垃圾回收的原因
  • gcnew
    显示新生代信息
  • gcnewcapacity
    显示新生代使用情况
  • gcold
    显示老年代和永久的信息
  • gcoldcapacity
    显示老年代的大小
  • gcpermcapactiy
    显示永久代的大小
  • gcutil
    显示垃圾收集信息
  • printcompilation
    输出 JIT 编译的方法信息

-t 参数
参数可以在输出信息前面加上一个 Timestamp 列,显示程序运行的时间。

-h参数
参数可以周期数据输出时,输出多少行后,跟着输出一个表头信息。

interval参数
指定输出统计数据的周期,单位毫秒。

count参数
一共输出多少次数据。

二、示例

  • jstat -gc pid
    显示gc的信息,查看gc的次数,及时间。

  • jstat -gccapacity pid
    VM分代内存的使用和占用大小。

  • jstat -gcutil pid
    统计gc信息统计。

  • jstat -gcnew pid
    年轻代对象的信息。

  • jstat -gcnewcapacity pid
    年轻代对象的信息及其占用量。

  • jstat -gcold pid
    old代对象的信息。

  • jstat -gcoldcapacity pid
    old代对象的信息。

  • jstat -gcpermcapacity pid
    perm对象的信息及其占用量。

  • jstat -class pid
    显示加载class的数量,及所占空间等信息。

  • jstat -compiler pid
    显示VM实时编译的数量等信息。

  • jstat -printcompilation pid
    当前VM执行的信息。

一些术语的中文解释:
S0C:年轻代中第一个survivor(幸存区)的容量 (字节)
S1C:年轻代中第二个survivor(幸存区)的容量 (字节)
S0U:年轻代中第一个survivor(幸存区)目前已使用空间 (字节)
S1U:年轻代中第二个survivor(幸存区)目前已使用空间 (字节)
EC:年轻代中Eden(伊甸园)的容量 (字节)
EU:年轻代中Eden(伊甸园)目前已使用空间 (字节)
OC:Old代的容量 (字节)
OU:Old代目前已使用空间 (字节)
PC:Perm(持久代)的容量 (字节)
PU:Perm(持久代)目前已使用空间 (字节)
YGC:从应用程序启动到采样时年轻代中gc次数
YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)
FGC:从应用程序启动到采样时old代(全gc)gc次数
FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)
GCT:从应用程序启动到采样时gc用的总时间(s)
NGCMN:年轻代(young)中初始化(最小)的大小 (字节)
NGCMX:年轻代(young)的最大容量 (字节)
NGC:年轻代(young)中当前的容量 (字节)
OGCMN:old代中初始化(最小)的大小 (字节)
OGCMX:old代的最大容量 (字节)
OGC:old代当前新生成的容量 (字节)
PGCMN:perm代中初始化(最小)的大小 (字节)
PGCMX:perm代的最大容量 (字节)
PGC:perm代当前新生成的容量 (字节)
S0:年轻代中第一个survivor(幸存区)已使用的占当前容量百分比
S1:年轻代中第二个survivor(幸存区)已使用的占当前容量百分比
E:年轻代中Eden(伊甸园)已使用的占当前容量百分比
O:old代已使用的占当前容量百分比
P:perm代已使用的占当前容量百分比
S0CMX:年轻代中第一个survivor(幸存区)的最大容量 (字节)
S1CMX :年轻代中第二个survivor(幸存区)的最大容量 (字节)
ECMX:年轻代中Eden(伊甸园)的最大容量 (字节)
DSS:当前需要survivor(幸存区)的容量 (字节)(Eden区已满)
TT: 持有次数限制
MTT : 最大持有次数限制

本文转载自:
https://www.jianshu.com/p/082340b9cd63
http://mousycoder.com/thinking-in-jvm/44/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值