JVM虚拟机统计信息监视工具jstat

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yaomingyang/article/details/82528464

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

1.jstat命令格式为

jstat [option vmid [interval[s|ms]] [count]]

如果是本地虚拟机进程,VMID和LVMID是一致的,如果是远程虚拟机进程,那VMID的格式应当是:
[protocol:][//]lvmid[@hostname[:port]/servername]

参数interval和count代表查询间隔和次数,如果省略这两个参数,说明只查询一次。

选项option代表着用户希望查询的虚拟机信息,主要分为3类:类装载、垃圾收集、运行期编译状况;

2.选项-class监视类装载、卸载数量、总空间及类装载所耗费的时间
yaomingyangdeMacBook-Pro:~ yaomingyang$ jstat -class 685 2s 10
Loaded  Bytes  Unloaded  Bytes     Time   
 18573 38432.8        2     1.9      32.84
 18573 38432.8        2     1.9      32.84
 18573 38432.8        2     1.9      32.84
 18573 38432.8        2     1.9      32.84
 18573 38432.8        2     1.9      32.84
 18573 38432.8        2     1.9      32.84
 18573 38432.8        2     1.9      32.84
 18573 38432.8        2     1.9      32.84
 18573 38432.8        2     1.9      32.84
 18573 38432.8        2     1.9      32.84
  • loaded:类装载数量
  • Bytes:装载类的空间字节大小
  • Unloaded:卸载数量
  • Bytes卸载空间字节大小
  • Time:类装载所耗费的时间
3.选项-gc监视Java堆状况,包括Eden区、两个survivor区、老年代、永久代等的容量、已用空间、GC时间合计等信息
yaomingyangdeMacBook-Pro:~ yaomingyang$ jstat -gc 685 2s 10
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT   
117760.0 75776.0  0.0   75420.9 176640.0 142500.8  326144.0   215473.8  127320.0 114477.2 16984.0 13243.1     55    1.732   7      2.046    3.779
117760.0 75776.0  0.0   75420.9 176640.0 142500.8  326144.0   215473.8  127320.0 114477.2 16984.0 13243.1     55    1.732   7      2.046    3.779
117760.0 75776.0  0.0   75420.9 176640.0 142500.8  326144.0   215473.8  127320.0 114477.2 16984.0 13243.1     55    1.732   7      2.046    3.779
117760.0 75776.0  0.0   75420.9 176640.0 142500.8  326144.0   215473.8  127320.0 114477.2 16984.0 13243.1     55    1.732   7      2.046    3.779
117760.0 75776.0  0.0   75420.9 176640.0 142500.8  326144.0   215473.8  127320.0 114477.2 16984.0 13243.1     55    1.732   7      2.046    3.779
117760.0 75776.0  0.0   75420.9 176640.0 142500.8  326144.0   215473.8  127320.0 114477.2 16984.0 13243.1     55    1.732   7      2.046    3.779
117760.0 75776.0  0.0   75420.9 176640.0 142500.8  326144.0   215473.8  127320.0 114477.2 16984.0 13243.1     55    1.732   7      2.046    3.779
117760.0 75776.0  0.0   75420.9 176640.0 142500.8  326144.0   215473.8  127320.0 114477.2 16984.0 13243.1     55    1.732   7      2.046    3.779
117760.0 75776.0  0.0   75420.9 176640.0 142500.8  326144.0   215473.8  127320.0 114477.2 16984.0 13243.1     55    1.732   7      2.046    3.779
117760.0 75776.0  0.0   75420.9 176640.0 142500.8  326144.0   215473.8  127320.0 114477.2 16984.0 13243.1     55    1.732   7      2.046    3.779
  • S0C:第一个survivor(幸存区)区大小
  • S1C:第二个survivor(幸存区)区大小
  • S0U:第一个survivor(幸存区)区使用大小
  • S1U:第二个survivor(幸存区)区使用大小
  • EC:Eden区大小
  • EU:Eden区使用大小
  • OC:老年代大小
  • OU:老年代使用大小
  • MC:方法区大小
  • MU:方法区使用大小
  • CCSC:压缩类空间大小
  • CCSU:压缩类空间使用大小
  • YGC:年轻代垃圾回收次数
  • YGCT:年轻代垃圾回收消耗的时间
  • FGC:老年代垃圾回收次数
  • FGCT:老年代垃圾回收消耗的时间
  • GCT:垃圾回收消耗的总时间
4.选项-gccapacity监视内容与-gc基本相同,但输出主要关注Java堆各个区域使用到的 最大、最小空间
yaomingyangdeMacBook-Pro:~ yaomingyang$ jstat -gccapacity 685 2s  10
 NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC       MCMN     MCMX      MC     CCSMN    CCSMX     CCSC    YGC    FGC 
 13312.0 409600.0 409600.0 117760.0 75776.0 176640.0    27648.0   819200.0   326144.0   326144.0      0.0 1159168.0 127320.0      0.0 1048576.0  16984.0     55     7
 13312.0 409600.0 409600.0 117760.0 75776.0 176640.0    27648.0   819200.0   326144.0   326144.0      0.0 1159168.0 127320.0      0.0 1048576.0  16984.0     55     7
 13312.0 409600.0 409600.0 117760.0 75776.0 176640.0    27648.0   819200.0   326144.0   326144.0      0.0 1159168.0 127320.0      0.0 1048576.0  16984.0     55     7
 13312.0 409600.0 409600.0 117760.0 75776.0 176640.0    27648.0   819200.0   326144.0   326144.0      0.0 1159168.0 127320.0      0.0 1048576.0  16984.0     55     7
 13312.0 409600.0 409600.0 117760.0 75776.0 176640.0    27648.0   819200.0   326144.0   326144.0      0.0 1159168.0 127320.0      0.0 1048576.0  16984.0     55     7
 13312.0 409600.0 409600.0 117760.0 75776.0 176640.0    27648.0   819200.0   326144.0   326144.0      0.0 1159168.0 127320.0      0.0 1048576.0  16984.0     55     7
 13312.0 409600.0 409600.0 117760.0 75776.0 176640.0    27648.0   819200.0   326144.0   326144.0      0.0 1159168.0 127320.0      0.0 1048576.0  16984.0     55     7
 13312.0 409600.0 409600.0 117760.0 75776.0 176640.0    27648.0   819200.0   326144.0   326144.0      0.0 1159168.0 127320.0      0.0 1048576.0  16984.0     55     7
 13312.0 409600.0 409600.0 117760.0 75776.0 176640.0    27648.0   819200.0   326144.0   326144.0      0.0 1159168.0 127320.0      0.0 1048576.0  16984.0     55     7
 13312.0 409600.0 409600.0 117760.0 75776.0 176640.0    27648.0   819200.0   326144.0   326144.0      0.0 1159168.0 127320.0      0.0 1048576.0  16984.0     55     7
  • NGCMN:新生代最小容量
  • NGCMX:新生代最大容量
  • NGC:当前新生代容量
  • S0C:第一个survivor(幸存)区大小
  • S1C:第二个survivor(幸存)区大小
  • EC:Eden区的大小
  • OGCMN:老年代最小容量
  • OGCMX:老年代最大容量
  • OGC:当前老年代大小
  • OC:当前老年代大小
  • MCMN:最小元数据容量
  • MCMX:最大元数据容量
  • MC:当前元数据大小
  • CCSMN:最小压缩类空间大小
  • CCSMX:最大压缩类空间大小
  • CCSC:当前压缩类大小
  • YGC:年轻代GC次数
  • FGC:老年代GC次数
5.选项-gcutil监视内容与-gc基本相同,但输出主要关注已使用空间占总空间的百分比
yaomingyangdeMacBook-Pro:~ yaomingyang$ jstat -gcutil 685 2s  10
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT   
  0.00  99.53  92.85  66.07  89.91  77.97     55    1.732     7    2.046    3.779
  0.00  99.53  92.85  66.07  89.91  77.97     55    1.732     7    2.046    3.779
  0.00  99.53  92.85  66.07  89.91  77.97     55    1.732     7    2.046    3.779
  0.00  99.53  92.85  66.07  89.91  77.97     55    1.732     7    2.046    3.779
  0.00  99.53  92.85  66.07  89.91  77.97     55    1.732     7    2.046    3.779
  0.00  99.53  92.85  66.07  89.91  77.97     55    1.732     7    2.046    3.779
  0.00  99.53  92.85  66.07  89.91  77.97     55    1.732     7    2.046    3.779
  0.00  99.53  92.85  66.07  89.91  77.97     55    1.732     7    2.046    3.779
  0.00  99.53  92.85  66.07  89.91  77.97     55    1.732     7    2.046    3.779
  0.00  99.53  92.85  66.07  89.91  77.97     55    1.732     7    2.046    3.779
  • S0:第一个survivor(幸存)区使用的比例
  • S1:第二个survivor(幸存)区使用的比例
  • E:Eden区使用的比例
  • O:老年代使用的比例
  • M:方法区使用的比例
  • CCS:压缩类使用的比例
  • YGC:新生代GC的次数
  • YGCT:新生代GC的时间
  • FGC:老年代GC的次数
  • FGCT:老年代GC的时间
  • GCT:GC的总耗时
6.选项-gccause与-gcutil功能一样,但是会额外输出导致上一次GC产生的原因
yaomingyangdeMacBook-Pro:~ yaomingyang$ jstat -gccause 685 2s  10
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT    LGCC                 GCC                 
  0.00  99.53  93.29  66.07  89.91  77.97     55    1.732     7    2.046    3.779 Allocation Failure   No GC               
  0.00  99.53  93.29  66.07  89.91  77.97     55    1.732     7    2.046    3.779 Allocation Failure   No GC               
  0.00  99.53  93.29  66.07  89.91  77.97     55    1.732     7    2.046    3.779 Allocation Failure   No GC               
  0.00  99.53  93.29  66.07  89.91  77.97     55    1.732     7    2.046    3.779 Allocation Failure   No GC               
  0.00  99.53  93.29  66.07  89.91  77.97     55    1.732     7    2.046    3.779 Allocation Failure   No GC               
  0.00  99.53  93.29  66.07  89.91  77.97     55    1.732     7    2.046    3.779 Allocation Failure   No GC               
  0.00  99.53  93.29  66.07  89.91  77.97     55    1.732     7    2.046    3.779 Allocation Failure   No GC               
  0.00  99.53  93.29  66.07  89.91  77.97     55    1.732     7    2.046    3.779 Allocation Failure   No GC               
  0.00  99.53  93.29  66.07  89.91  77.97     55    1.732     7    2.046    3.779 Allocation Failure   No GC               
  0.00  99.53  93.29  66.07  89.91  77.97     55    1.732     7    2.046    3.779 Allocation Failure   No GC
  • LGCC:上次GC的原因
  • GCC:当前GC的原因
7.选项-gcnew监视新生代GC状况
yaomingyangdeMacBook-Pro:~ yaomingyang$ jstat -gcnew 685 2s  10
 S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU     YGC     YGCT  
117760.0 75776.0    0.0 75420.9 15  15 117760.0 176640.0 165983.4     55    1.732
117760.0 75776.0    0.0 75420.9 15  15 117760.0 176640.0 165983.4     55    1.732
117760.0 75776.0    0.0 75420.9 15  15 117760.0 176640.0 165983.4     55    1.732
117760.0 75776.0    0.0 75420.9 15  15 117760.0 176640.0 165983.4     55    1.732
117760.0 75776.0    0.0 75420.9 15  15 117760.0 176640.0 165983.4     55    1.732
117760.0 75776.0    0.0 75420.9 15  15 117760.0 176640.0 165983.4     55    1.732
117760.0 75776.0    0.0 75420.9 15  15 117760.0 176640.0 165983.4     55    1.732
117760.0 75776.0    0.0 75420.9 15  15 117760.0 176640.0 165983.4     55    1.732
117760.0 75776.0    0.0 75420.9 15  15 117760.0 176640.0 165983.4     55    1.732
117760.0 75776.0    0.0 75420.9 15  15 117760.0 176640.0 165983.4     55    1.732
  • S0C:第一个survivor(幸存)区大小
  • S1C:第二个survivor(幸存)区大小
  • S0U:第一个survivor(幸存)区已使用大小
  • S1U:第二个survivor(幸存)区已使用大小
  • TT:对象在新生代存货的次数
  • MTT:对象在新生代存活的最大次数
  • DSS:期望的幸存区大小
  • EC:Eden区的大小
  • EU:Eden区已使用的大小
  • YGC:新生代GC次数
  • YGCT:新生代GC消耗的时间
8.选项-gcnewcapacity监视内容与-gcnew基本相同,输出主要关注使用到的最大、最小空间
yaomingyangdeMacBook-Pro:~ yaomingyang$ jstat -gcnewcapacity 685 2s  10
  NGCMN      NGCMX       NGC      S0CMX     S0C     S1CMX     S1C       ECMX        EC      YGC   FGC 
   13312.0   409600.0   409600.0 136192.0 117760.0 136192.0 114688.0   408576.0   177152.0    56     7
   13312.0   409600.0   409600.0 136192.0 117760.0 136192.0 114688.0   408576.0   177152.0    56     7
   13312.0   409600.0   409600.0 136192.0 117760.0 136192.0 114688.0   408576.0   177152.0    56     7
   13312.0   409600.0   409600.0 136192.0 117760.0 136192.0 114688.0   408576.0   177152.0    56     7
   13312.0   409600.0   409600.0 136192.0 117760.0 136192.0 114688.0   408576.0   177152.0    56     7
   13312.0   409600.0   409600.0 136192.0 117760.0 136192.0 114688.0   408576.0   177152.0    56     7
   13312.0   409600.0   409600.0 136192.0 117760.0 136192.0 114688.0   408576.0   177152.0    56     7
   13312.0   409600.0   409600.0 136192.0 117760.0 136192.0 114688.0   408576.0   177152.0    56     7
   13312.0   409600.0   409600.0 136192.0 117760.0 136192.0 114688.0   408576.0   177152.0    56     7
   13312.0   409600.0   409600.0 136192.0 117760.0 136192.0 114688.0   408576.0   177152.0    56     7
  • NGCMN:新生代最小容量
  • NGCMX:新生代最大容量
  • NGC:当前新生代容量
  • S0CMX:第一个survivor(幸存)区最大容量
  • S0C:第一个survivor(幸存)区当前容量
  • S1CMX:第二个survivor(幸存)区最大容量
  • S1C:第二个survivor(幸存)区当前容量
  • ECMX:Eden区最大容量
  • EC:Eden区当前容量
  • YGC:新生代GC次数
  • FGC:老年代GC次数
9.选项-gcold监视老年代GC状况
yaomingyangdeMacBook-Pro:~ yaomingyang$ jstat -gcold 685 2s  10
   MC       MU      CCSC     CCSU       OC          OU       YGC    FGC    FGCT     GCT   
132056.0 118410.0  17624.0  13684.7    326144.0    215481.8     56     7    2.046    3.809
132056.0 118410.0  17624.0  13684.7    326144.0    215481.8     56     7    2.046    3.809
132056.0 118410.0  17624.0  13684.7    326144.0    215481.8     56     7    2.046    3.809
132056.0 118410.0  17624.0  13684.7    326144.0    215481.8     56     7    2.046    3.809
132056.0 118410.0  17624.0  13684.7    326144.0    215481.8     56     7    2.046    3.809
132056.0 118410.0  17624.0  13684.7    326144.0    215481.8     56     7    2.046    3.809
132056.0 118410.0  17624.0  13684.7    326144.0    215481.8     56     7    2.046    3.809
132056.0 118410.0  17624.0  13684.7    326144.0    215481.8     56     7    2.046    3.809
132056.0 118410.0  17624.0  13684.7    326144.0    215481.8     56     7    2.046    3.809
132056.0 118410.0  17624.0  13684.7    326144.0    215481.8     56     7    2.046    3.809
  • MC:方法区大小
  • MU:方法区使用大小
  • CCSC:压缩类空间大小
  • CCSU:压缩类空间使用大小
  • OC:老年代大小
  • OU:老年代使用大小
  • YGC:新生代GC次数
  • FGC:老年代GC次数
  • FGCT:老年代GC消耗时间
  • GCT:GC消耗总时间
10.选项-gcoldcapacity监视内容与-gcold基本相同,输出主要关注使用到的最大、最小空间
yaomingyangdeMacBook-Pro:~ yaomingyang$ jstat -gcoldcapacity 685 2s  10
   OGCMN       OGCMX        OGC         OC       YGC   FGC    FGCT     GCT   
    27648.0    819200.0    326144.0    326144.0    56     7    2.046    3.809
    27648.0    819200.0    326144.0    326144.0    56     7    2.046    3.809
    27648.0    819200.0    326144.0    326144.0    56     7    2.046    3.809
    27648.0    819200.0    326144.0    326144.0    56     7    2.046    3.809
    27648.0    819200.0    326144.0    326144.0    56     7    2.046    3.809
    27648.0    819200.0    326144.0    326144.0    56     7    2.046    3.809
    27648.0    819200.0    326144.0    326144.0    56     7    2.046    3.809
    27648.0    819200.0    326144.0    326144.0    56     7    2.046    3.809
    27648.0    819200.0    326144.0    326144.0    56     7    2.046    3.809
    27648.0    819200.0    326144.0    326144.0    56     7    2.046    3.809
  • OGCMN:老年代最小容量
  • OGCMX:老年代最大容量
  • OGC:当前老年代大小
  • OC:老年代大小
  • YGC:新生代GC次数
  • FGC:老年代GC次数
  • FGCT:老年代GC时间
  • GCT:GC总耗时
11.选项-gcpermcapacity输出永久代使用到的最大、最小空间
yaomingyangdeMacBook-Pro:~ yaomingyang$ jstat -gcpermcapacity 685 2s  10
  PGCMN      PGCMX       PGC         PC      YGC   FGC    FGCT     GCT   
         �          �          �          �    56     7    2.046    3.809
         �          �          �          �    56     7    2.046    3.809
         �          �          �          �    56     7    2.046    3.809
         �          �          �          �    56     7    2.046    3.809
         �          �          �          �    56     7    2.046    3.809
         �          �          �          �    56     7    2.046    3.809
         �          �          �          �    56     7    2.046    3.809
         �          �          �          �    56     7    2.046    3.809
         �          �          �          �    56     7    2.046    3.809
         �          �          �          �    56     7    2.046    3.809
  • PGCMN:永久带最小容量
  • PGCMX:永久带最大容量
  • PGC:永久代当前容量
  • PC:永久带容量
  • YGC:新生代GC次数
  • FGC:老年代GC次数
  • FGCT:老年代GC时间
  • GCT:GC总耗时
12.选项-compiler输出JIT编译器编译过的方法、耗时等信息
yaomingyangdeMacBook-Pro:~ yaomingyang$ jstat -compiler 685 2s  10
Compiled Failed Invalid   Time   FailedType FailedMethod
   19589      5       0   117.44          1 org/aspectj/weaver/bcel/BcelClassWeaver match
   19589      5       0   117.44          1 org/aspectj/weaver/bcel/BcelClassWeaver match
   19589      5       0   117.44          1 org/aspectj/weaver/bcel/BcelClassWeaver match
   19589      5       0   117.44          1 org/aspectj/weaver/bcel/BcelClassWeaver match
   19589      5       0   117.44          1 org/aspectj/weaver/bcel/BcelClassWeaver match
   19589      5       0   117.44          1 org/aspectj/weaver/bcel/BcelClassWeaver match
   19589      5       0   117.44          1 org/aspectj/weaver/bcel/BcelClassWeaver match
   19589      5       0   117.44          1 org/aspectj/weaver/bcel/BcelClassWeaver match
   19589      5       0   117.44          1 org/aspectj/weaver/bcel/BcelClassWeaver match
   19589      5       0   117.44          1 org/aspectj/weaver/bcel/BcelClassWeaver match
  • Compiled:编译数量
  • Failed:失败数量
  • Invalid:不可用数量
  • Time:时间
  • FailedType:失败类型
  • FailedMethod:失败方法
13.选项-printcompilation输出已经被JIT编译的方法
yaomingyangdeMacBook-Pro:~ yaomingyang$ jstat -printcompilation 685 2s  10
Compiled  Size  Type Method
   19589    792    1 java/util/concurrent/ConcurrentHashMap replaceNode
   19589    792    1 java/util/concurrent/ConcurrentHashMap replaceNode
   19589    792    1 java/util/concurrent/ConcurrentHashMap replaceNode
   19589    792    1 java/util/concurrent/ConcurrentHashMap replaceNode
   19589    792    1 java/util/concurrent/ConcurrentHashMap replaceNode
   19589    792    1 java/util/concurrent/ConcurrentHashMap replaceNode
   19589    792    1 java/util/concurrent/ConcurrentHashMap replaceNode
   19589    792    1 java/util/concurrent/ConcurrentHashMap replaceNode
   19589    792    1 java/util/concurrent/ConcurrentHashMap replaceNode
   19589    792    1 java/util/concurrent/ConcurrentHashMap replaceNode
  • Compiled:最近编译方法的数量
  • Size:最近编译字节码的数量
  • Type:最近编译方法的编译类型
  • Method:方法名标识

猜你喜欢

转载自blog.csdn.net/yaomingyang/article/details/82528464