Java-性能调优工具-jstat

jps  查看当前java进程

[ ~]# jps
9939 Resin
9874 WatchdogManager
18293 Jps

 

jstat -gc -t pid 1s

[ ~]# jstat -gc -t 9939 1s
Timestamp        S0C    S1C    S0U    S1U      EC       EU        OC         OU       PC     PU    YGC     YGCT    FGC    FGCT     GCT   
      1964991.6 65536.0 65536.0 539.2   0.0   131072.0 15889.4   262144.0   163600.6  125280.0 75271.8  30576  231.889  33      1.581  233.469
      1964992.6 65536.0 65536.0 539.2   0.0   131072.0 17543.4   262144.0   163600.6  125280.0 75271.8  30576  231.889  33      1.581  233.469
      1964993.6 65536.0 65536.0 539.2   0.0   131072.0 17551.5   262144.0   163600.6  125280.0 75271.8  30576  231.889  33      1.581  233.469

  S0C:Survivor space 0区容量(单位字节) 65536*8/1024 = 512k

  S1C:Survivor space 1区容量

  S0U:Survivor space 0区容量

  S1U:Survivor space 1区已使用

  EC:Eden space区容量

  EU:Eden space区已使用

  OC:Old代容量

  OU:Old代已使用

  PC:持久代容量

  PU:持久代已使用

jstat -gccause pid 2000

[ ~]# jstat -gccause 9939 2000
  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT    LGCC                 GCC                 
  0.00   2.09  23.61  62.50  60.08  30591  231.990    33    1.581  233.570 Allocation Failure   No GC               
  0.00   2.09  24.77  62.50  60.08  30591  231.990    33    1.581  233.570 Allocation Failure   No GC               
  0.00   2.09  26.00  62.50  60.08  30591  231.990    33    1.581  233.570 Allocation Failure   No GC   

  S0:Heap上的Survivor space 0区已使用空间百分比

  S1:Heap上的Survivor space 1区已使用空间百分比

  E:Heap上的Eden space区已使用空间的百分比

  O:Heap上的Old space区已使用空间的百分比

  P:Perm space区已使用空间的百分比

  YGC,YGCT,FGC,FGCT,GCT 分别表示从应用程序启动到采样young gc次数,young gc时间,full gc次数,full gc时间,gc总时间,单位秒。

jstat -gcutil pid  GC统计信息(内存使用率)

[ ~]# jstat -gcutil 9939 2000
  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT   
  1.88   0.00  40.43  62.83  60.08  30748  233.076    33    1.581  234.656
  1.88   0.00  78.87  62.83  60.08  30748  233.076    33    1.581  234.656
  0.00   1.13   2.61  62.83  60.08  30749  233.082    33    1.581  234.663
  0.00   1.13  31.00  62.83  60.08  30749  233.082    33    1.581  234.663
  0.00   1.13  63.96  62.83  60.08  30749  233.082    33    1.581  234.663
  0.00   1.13  99.56  62.83  60.08  30749  233.082    33    1.581  234.663
  1.09   0.00   0.90  62.83  60.08  30750  233.089    33    1.581  234.669
  1.09   0.00   3.43  62.83  60.08  30750  233.089    33    1.581  234.669

  从上图可看出两次YGC的过程。Eden Space满了,百分比。

jstat -gcnew pid

[ ~]# jstat -gcnew 9939 3000
 S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU     YGC     YGCT  
65536.0 65536.0    0.0 1176.4 15  15 32768.0 131072.0  76749.9  30755  233.128
65536.0 65536.0    0.0 1176.4 15  15 32768.0 131072.0 118414.8  30755  233.128
65536.0 65536.0  475.8    0.0 15  15 32768.0 131072.0  12474.0  30756  233.132
65536.0 65536.0  475.8    0.0 15  15 32768.0 131072.0 119806.2  30756  233.132
65536.0 65536.0  475.8    0.0 15  15 32768.0 131072.0 128737.3  30756  233.132
65536.0 65536.0    0.0 2581.2 15  15 32768.0 131072.0   3715.6  30757  233.139
65536.0 65536.0    0.0 2581.2 15  15 32768.0 131072.0   7210.5  30757  233.139

  从上图可看出两次YGC过程,Eden space满了,容量。

  TT:持有次数

  MTT:最大持有次数

  DSS:当前需要Survivor space容量。(Eden space已满)

jstat -gccapacity pid

[ ~]# jstat -gccapacity 9939 3000
 NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC      PGCMN    PGCMX     PGC       PC     YGC    FGC 
262144.0 262144.0 262144.0 65536.0 65536.0 131072.0   262144.0   262144.0   262144.0   262144.0  21248.0 131072.0 125280.0 125280.0  30767    33

  NGCMN:年轻代初始化大小,最小。262144*8/1024/1024 = 2G

  NGCMX:年轻代最大容量。

  NGC:年轻代当前容量。

  OGCMN:老年代初始化大小,最小。

  OGCMX:老年代最大容量。

  PGCMN:持久代初始化大小。

  PGCMX:持久代最大容量。

  PGC:持久代新生成容量。

jstat -gcold pid

[ ~]# jstat -gcold 9939
   PC       PU        OC          OU       YGC    FGC    FGCT     GCT   
125280.0  75271.8    262144.0    164999.9  30813    33    1.581  235.115

jstat -gcoldcapacity pid

[ ~]# jstat -gcoldcapacity 9939
   OGCMN       OGCMX        OGC         OC       YGC   FGC    FGCT     GCT   
   262144.0    262144.0    262144.0    262144.0 30814    33    1.581  235.123

jstat -gcpermcapacity pid

jstat -class pid  显示加载class数量及所占空间

[ ~]# jstat -class 9939
Loaded  Bytes  Unloaded  Bytes     Time   
 13196 25537.4      293   426.1       7.10

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

[ ~]# jstat -compiler 9939
Compiled Failed Invalid   Time   FailedType FailedMethod
    4144      0       0    47.15          0   

jstat -printcompilation pid  显示VM执行的信息

[ ~]# jstat -printcompilation 9939
Compiled  Size  Type Method
    4144     83    1 java/lang/ThreadLocal$ThreadLocalMap getEntryAfterMiss

  

  

 

  

 

  

 

posted @ 2017-06-14 16:12  Jenkin.K  阅读(421)  评论(0编辑  收藏  举报