• 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
    

      

      

      

      

  • 相关阅读:
    MagicAjax简单介绍(转)
    .net中RegisterStartupScript与RegisterClientScriptBlock的区别
    改变你一生的五句话 (转)
    苏州园林年卡 办理与使用 附 苏州园林门票价格
    常见的 ASP.NET 2.0 转换问题和解决方案(转)
    .net新手须知
    AJAX开发简略 (转)
    magicajax为什么不能提交? magicajax的一个bug
    所谓:有实际开发工作经验 (转)
    解读60 70 80年代职场人
  • 原文地址:https://www.cnblogs.com/kisf/p/7009430.html
Copyright © 2020-2023  润新知