jvm调优之jstat

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/qq2430/article/details/82290543

概要

jstat -outputOptions [-t] [-hlines] vmid [interval] [count]]

  • outputOptions:命令行选项
  • t:输出时间戳(以jvm启动开始从0统计)
  • hlines:每输出lines数量的数据后,输出一次header信息
  • vmid:进程ID
  • interval:输出的时间间隔,秒或者毫秒
  • count:输出次数

jstat命令可以内存的统计信息,以及类加载的数量,GC的次数和耗时等。本文使用的是JDK10,不同版本间可能存在差异。

outputOptions

-class: 查看类加载的统计信息

[root@izbp1chtb8a3vd2mzvuawlz /]# jstat -class 11457 1s 5
Loaded  Bytes  Unloaded  Bytes     Time   
  6886 12668.3        0     0.0       8.16
  6886 12668.3        0     0.0       8.16
  6886 12668.3        0     0.0       8.16
  6886 12668.3        0     0.0       8.16
  6886 12668.3        0     0.0       8.16
  • Loaded: 加载的类的数量
  • Bytes:加载的类的字节数
  • Unloaded:未加载的类的数量
  • Bytes:未加载的类的字节数
  • Time:加载类的耗时

-compiler:查看编译的统计信息

[root@izbp1chtb8a3vd2mzvuawlz /]# jstat -compiler 11457 1s 5
Compiled Failed Invalid   Time   FailedType FailedMethod
    3551      0       0    11.43          0             
    3551      0       0    11.43          0             
    3551      0       0    11.43          0             
    3551      0       0    11.43          0             
    3551      0       0    11.43          0 
  • Compiled:编译数量
  • Failed:失败的数量
  • Invalid:无效的数量
  • Time:编译耗时
  • FailedType:失败的类型
  • FailedMethod:失败的方法

-gc: 查看垃圾回收的统计信息

[root@izbp1chtb8a3vd2mzvuawlz /]# jstat -gc 11457 1s 5
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT   
1408.0 1408.0  0.0   878.9  11776.0  10748.7   29136.0    19081.8   40192.0 39013.7 4864.0 4431.8     73    0.252   3      0.228    0.480
1408.0 1408.0  0.0   878.9  11776.0  10748.7   29136.0    19081.8   40192.0 39013.7 4864.0 4431.8     73    0.252   3      0.228    0.480
1408.0 1408.0  0.0   878.9  11776.0  10748.7   29136.0    19081.8   40192.0 39013.7 4864.0 4431.8     73    0.252   3      0.228    0.480
1408.0 1408.0  0.0   878.9  11776.0  10748.7   29136.0    19081.8   40192.0 39013.7 4864.0 4431.8     73    0.252   3      0.228    0.480
1408.0 1408.0  0.0   878.9  11776.0  10748.7   29136.0    19081.8   40192.0 39013.7 4864.0 4431.8     73    0.252   3      0.228    0.480
  • S0C:Survivor0区的容量
  • S1C:Survivor1区的容量
  • S0U:Survivor0区的使用容量
  • S1U:Survivor1区的使用容量
  • EC:Eden区的容量
  • EU:Eden区的使用容量
  • OC:老年代的容量
  • OU:老年代的使用容量
  • MC:MetaSpace的容量
  • MU:MetaSpace的使用容量
  • CCSC:压缩类空间的容量
  • CCSU:压缩类空间的使用容量
  • YGC:Yong GC次数
  • YGCT:Yong GC耗时
  • FGC:Full GC的次数
  • FGCT:Full GC耗时
  • GCT:垃圾回收总耗时

-gccapacity:堆内存的统计信息

[root@izbp1chtb8a3vd2mzvuawlz /]# jstat -gccapacity 11457 1s 5
 NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC       MCMN     MCMX      MC     CCSMN    CCSMX     CCSC    YGC    FGC 
   192.0  84608.0  14592.0 1408.0 1408.0  11776.0       64.0   169344.0    29136.0    29136.0      0.0 1085440.0  40192.0      0.0 1048576.0   4864.0     73     3
   192.0  84608.0  14592.0 1408.0 1408.0  11776.0       64.0   169344.0    29136.0    29136.0      0.0 1085440.0  40192.0      0.0 1048576.0   4864.0     73     3
   192.0  84608.0  14592.0 1408.0 1408.0  11776.0       64.0   169344.0    29136.0    29136.0      0.0 1085440.0  40192.0      0.0 1048576.0   4864.0     73     3
   192.0  84608.0  14592.0 1408.0 1408.0  11776.0       64.0   169344.0    29136.0    29136.0      0.0 1085440.0  40192.0      0.0 1048576.0   4864.0     73     3
   192.0  84608.0  14592.0 1408.0 1408.0  11776.0       64.0   169344.0    29136.0    29136.0      0.0 1085440.0  40192.0      0.0 1048576.0   4864.0     73     3
  • NGCMN:新生代的最小容量
  • NGCMX:新生代的最大容量
  • NGC:新生代的当前容量
  • S0C:Survivor0区的容量
  • S1C:Survivor1区的容量
  • EC:Eden区的容量
  • OGCMN:老年代的最小容量
  • OGCMX:老年代的最大容量
  • OGC:老年代的当前容量,OGC = sum(all OC),对于hotspot虚拟机来说,老年代只有1个,所以OGC = OC
  • OC:老年代的当前容量
  • MCMN:Metaspace的最小容量
  • MCMX:Metaspace的最大容量
  • MC:Metaspace的当前容量
  • CCSMN:压缩类空间的最小容量
  • CCSMX:压缩类空间的最大容量
  • CCSC:压缩类空间的当前容量
  • YGC:Yong GC的次数
  • FGC:Full GC的次数

-gccause: 查看垃圾回收原因的统计信息

[root@izbp1chtb8a3vd2mzvuawlz /]# jstat -gccause 11457 1s 5
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT    LGCC                 GCC                 
  0.00  62.42  93.28  65.49  97.07  91.11     73    0.252     3    0.228    0.480 Allocation Failure   No GC               
  0.00  62.42  93.28  65.49  97.07  91.11     73    0.252     3    0.228    0.480 Allocation Failure   No GC               
  0.00  62.42  93.28  65.49  97.07  91.11     73    0.252     3    0.228    0.480 Allocation Failure   No GC               
  0.00  62.42  93.28  65.49  97.07  91.11     73    0.252     3    0.228    0.480 Allocation Failure   No GC               
  0.00  62.42  93.28  65.49  97.07  91.11     73    0.252     3    0.228    0.480 Allocation Failure   No GC
  • S0:Survivor0区的使用百分比
  • S1:Survivor1区的使用百分比
  • E:Eden区的使用百分比
  • O:老年代的使用百分比
  • M:Metaspace的使用百分比
  • CCS:压缩类空间的使用百分比
  • YGC:Yong GC的次数
  • YGCT:Yong GC的耗时
  • FGC:Full GC的次数
  • FGCT:Full GC的耗时
  • GCT:垃圾回收的总耗时
  • LGCC:上一次垃圾回收的原因
  • GCC:当前垃圾回收的原因

-gcnew:查看新生代的垃圾回收统计

[root@izbp1chtb8a3vd2mzvuawlz /]# jstat -gcnew 11457 1s 5
 S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU     YGC     YGCT  
1408.0 1408.0    0.0  878.9  2  15  704.0  11776.0  11281.5     73    0.252
1408.0 1408.0    0.0  878.9  2  15  704.0  11776.0  11281.5     73    0.252
1408.0 1408.0    0.0  878.9  2  15  704.0  11776.0  11281.5     73    0.252
1408.0 1408.0    0.0  878.9  2  15  704.0  11776.0  11281.5     73    0.252
1408.0 1408.0    0.0  878.9  2  15  704.0  11776.0  11281.5     73    0.252
  • S0C:Survivor0区的容量
  • S1C:Survivor1区的容量
  • S0U:Survivor0区的使用容量
  • S1U:Survivor1区的使用容量
  • TT:新生代对象的存活次数
  • MTT:新生代对象的最大存活次数
  • DSS:需要的Survivor容量
  • EC:Eden区的容量
  • EU:Eden区的使用容量
  • YGC:Yong GC的次数
  • YGCT:Yong GC的耗时

-gcnewcapacity:查看新生代内存的统计信息

[root@izbp1chtb8a3vd2mzvuawlz /]# jstat -gcnewcapacity 11457 1s 5
  NGCMN      NGCMX       NGC      S0CMX     S0C     S1CMX     S1C       ECMX        EC      YGC   FGC 
     192.0    84608.0    14592.0   8448.0   1408.0   8448.0   1408.0    67712.0    11776.0    73     3
     192.0    84608.0    14592.0   8448.0   1408.0   8448.0   1408.0    67712.0    11776.0    73     3
     192.0    84608.0    14592.0   8448.0   1408.0   8448.0   1408.0    67712.0    11776.0    73     3
     192.0    84608.0    14592.0   8448.0   1408.0   8448.0   1408.0    67712.0    11776.0    73     3
     192.0    84608.0    14592.0   8448.0   1408.0   8448.0   1408.0    67712.0    11776.0    73     3
  • NGCMN:新生代的最小容量
  • NGCMX:新生代的最大容量
  • NGC:当前新生代的容量
  • S0CMX:Survivor0区的最大容量
  • S0C:Survivor0区的当前容量
  • S1CMX:Survivor1区的最大容量
  • S1C:Survivor1区的当前容量
  • ECMX:Eden区的最大容量
  • EC:Eden区的当前容量
  • YGC:Yong GC的次数
  • FGC:Full GC的次数

-gcold: 查看老年代的垃圾回收的统计信息

[root@izbp1chtb8a3vd2mzvuawlz /]# jstat -gcold 11457 1s 5
   MC       MU      CCSC     CCSU       OC          OU       YGC    FGC    FGCT     GCT   
 40192.0  39013.7   4864.0   4431.8     29136.0     19081.8     73     3    0.228    0.480
 40192.0  39013.7   4864.0   4431.8     29136.0     19081.8     73     3    0.228    0.480
 40192.0  39013.7   4864.0   4431.8     29136.0     19081.8     73     3    0.228    0.480
 40192.0  39013.7   4864.0   4431.8     29136.0     19081.8     73     3    0.228    0.480
 40192.0  39013.7   4864.0   4431.8     29136.0     19081.8     73     3    0.228    0.480
  • MC:MetaSpace的容量
  • MU:MetaSpace的使用容量
  • CCSC:压缩类空间的容量
  • CCSU:压缩类空间的使用容量
  • OC:老年代的容量
  • OU:老年代的使用容量
  • YGC:Yong GC次数
  • FGC:Full GC的次数
  • FGCT:Full GC耗时
  • GCT:垃圾回收总耗时

-gcoldcapacity:查看老年代内存的统计信息

[root@izbp1chtb8a3vd2mzvuawlz /]# jstat -gcoldcapacity 11457 1s 5
   OGCMN       OGCMX        OGC         OC       YGC   FGC    FGCT     GCT   
       64.0    169344.0     29136.0     29136.0    73     3    0.228    0.480
       64.0    169344.0     29136.0     29136.0    73     3    0.228    0.480
       64.0    169344.0     29136.0     29136.0    73     3    0.228    0.480
       64.0    169344.0     29136.0     29136.0    73     3    0.228    0.480
       64.0    169344.0     29136.0     29136.0    73     3    0.228    0.480
  • OGCMN:老年代的最小容量
  • OGCMX:老年代的最大容量
  • OGC:老年代的当前容量,OGC = sum(all OC),对于hotspot虚拟机来说,老年代只有1个,所以OGC = OC
  • OC:老年代的当前容量
  • YGC:Yong GC的次数
  • FGC:Full GC的次数
  • FGCT:Full GC耗时
  • GCT:垃圾回收总耗时

-gcmetacapacity:查看metaspace内存的统计信息

[root@izbp1chtb8a3vd2mzvuawlz /]# jstat -gcmetacapacity 11457 1s 5     
   MCMN       MCMX        MC       CCSMN      CCSMX       CCSC     YGC   FGC    FGCT     GCT   
       0.0  1085440.0    40192.0        0.0  1048576.0     4864.0    73     3    0.228    0.480
       0.0  1085440.0    40192.0        0.0  1048576.0     4864.0    73     3    0.228    0.480
       0.0  1085440.0    40192.0        0.0  1048576.0     4864.0    73     3    0.228    0.480
       0.0  1085440.0    40192.0        0.0  1048576.0     4864.0    73     3    0.228    0.480
       0.0  1085440.0    40192.0        0.0  1048576.0     4864.0    73     3    0.228    0.480
  • MCMN:Metaspace的最小容量
  • MCMX:Metaspace的最大容量
  • MC:Metaspace的当前容量
  • CCSMN:压缩类空间的最小容量
  • CCSMX:压缩类空间的最大容量
  • CCSC:压缩类空间的当前容量
  • YGC:Yong GC的次数
  • FGC:Full GC的次数
  • FGCT:Full GC耗时
  • GCT:垃圾回收总耗时

-gcutil:查看垃圾回收的百分比统计信息

[root@izbp1chtb8a3vd2mzvuawlz /]# jstat -gcutil 11457 1s 5
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT   
  0.00  62.42  95.80  65.49  97.07  91.11     73    0.252     3    0.228    0.480
  0.00  62.42  95.80  65.49  97.07  91.11     73    0.252     3    0.228    0.480
  0.00  62.42  95.80  65.49  97.07  91.11     73    0.252     3    0.228    0.480
  0.00  62.42  95.80  65.49  97.07  91.11     73    0.252     3    0.228    0.480
  0.00  62.42  95.80  65.49  97.07  91.11     73    0.252     3    0.228    0.480
  • S0:Survivor0区的使用百分比
  • S1:Survivor1区的使用百分比
  • E:Eden区的使用百分比
  • O:老年代的使用百分比
  • M:Metaspace的使用百分比
  • CCS:压缩类空间的使用百分比
  • YGC:Yong GC的次数
  • YGCT:Yong GC的耗时
  • FGC:Full GC的次数
  • FGCT:Full GC的耗时
  • GCT:垃圾回收的总耗时

-printcompilation:查看jvm编译方法的统计信息

[root@izbp1chtb8a3vd2mzvuawlz /]# jstat -printcompilation  11457 1s 5                
Compiled  Size  Type Method
    3569     79    1 java/util/concurrent/locks/AbstractQueuedSynchronizer doReleaseShared
    3569     79    1 java/util/concurrent/locks/AbstractQueuedSynchronizer doReleaseShared
    3569     79    1 java/util/concurrent/locks/AbstractQueuedSynchronizer doReleaseShared
    3569     79    1 java/util/concurrent/locks/AbstractQueuedSynchronizer doReleaseShared
    3569     79    1 java/util/concurrent/locks/AbstractQueuedSynchronizer doReleaseShared
  • Compiled:最近编译方法的数量
  • Size:最近编译方法的字节数
  • Type:最近的编译类型
  • Method:最近编译的方法

参考文档:https://docs.oracle.com/javase/10/tools/jstat.htm

猜你喜欢

转载自blog.csdn.net/qq2430/article/details/82290543