<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          jstat+gceasy分析應(yīng)用程序資源和性能

          共 1638字,需瀏覽 4分鐘

           ·

          2021-08-07 16:33

          379f4a51c48f5f2395e5f6a41d11e745.webp

          ?Jstat是什么

          Jstat是JDK自帶的一個輕量級小工具。全稱“Java Virtual Machine statistics monitoring tool”,它位于java的bin目錄下,主要利用JVM內(nèi)建的指令對Java應(yīng)用程序的資源和性能進(jìn)行實(shí)時的命令行的監(jiān)控,包括了對Heap size和垃圾回收狀況的監(jiān)控。


          使用Jstat查看GC活動

          常用命令:jstat -gc -t <pid> <interval> <count>

          參數(shù)解釋:

          -gc : 表示顯示與垃圾收集相關(guān)的統(tǒng)計信息

          -t : 顯示時間戳(從JVM啟動以來的)

          <pid>: jvm進(jìn)程Id

          <interval>: 間隔多久統(tǒng)計一次(默認(rèn)單位為ms)

          <count>:統(tǒng)計多少次結(jié)束

          示例:jstat -gc -t 1 1000 5 表示對jvm進(jìn)程Id為1的進(jìn)程,每個1秒統(tǒng)計一次gc信息,統(tǒng)計5次結(jié)束

          a13f2800c30bcea4aedd85c9e62ac4bf.webp

          如何解讀Jstat生成的數(shù)據(jù)

          例如:

          Timestamp       S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC      MU      CCSC   CCSU       YGC   YGCT    FGC    FGCT     GCT   ?893677.6??????1024.0??1024.0??320.0???0.0???28160.0???5606.3???142336.0???95712.6?115200.0?110769.0?13056.0?12220.6???1134???27.800???5?????1.502???29.301
          中文
          英文
          時間戳記
          Timestamp
          = 893677.6秒
          年輕代的容量S0C + S1C + EC?

          = 1024.0 + 1024.0 + 28160.0?

          = 30208 kb

          = 29.5 mb

          年輕代利用尺寸S0U + S1U + EU

          = 320 + 0 + 5606.3

          = 5926.3 kb?

          = 5.78 mb

          老年代容量OC

          =142336.0kb

          = 139 mb

          老年代已用尺寸OU

          = 95712.6 kb

          = 93.47mb

          元空間容量MC

          = 115200.0 kb

          = 112.5 mb

          元空間已用的大小MU

          = 110769.0 kb

          = 108.17mb

          Young GC計數(shù)YGC= 1134
          Young GC花費(fèi)時間YGCT= 27.800秒
          FullGC計數(shù)FGC= 5
          FullGC花費(fèi)時間FGCT= 1.502秒
          在GC中花費(fèi)的總時間GCT= 29.301秒

          分析jstat輸出的工具

          像上面那樣分析jstat的輸出很不方便,太慢了,很多地方需要自己去換算單位去計算,為了方便分析可以使用gc分析工具gceasy

          11b21f2b8041b5fb74d174d783b7a587.webp

          它可以對gc日志進(jìn)行分析,也可以對jstat等jvm命令的輸出進(jìn)行分析,可選擇上傳文件也可以選擇Raw,粘貼文本的方式進(jìn)行分析,點(diǎn)擊Analyze即可。

          示例:我這里使用jstat生成30條記錄。

          # jstat -gc -t 1 1000 30
          然后將以上命令生成的數(shù)據(jù)復(fù)制到gceasy即可進(jìn)行分析即可成報

          8947dfc408e763fde00d8c0a82639722.webp

          部分報告截圖:

          14e8b74ebc3605be60cba992817ae377.webp

          2c352905e9e52aeaed36f24ffdc1fbc6.webp

          a305f1095ca7df63dee3a4f5e03233af.webp

          bca15be22589115cb331f5eca740ec2b.webp

          22c45715bd920f56185f7055034881b0.webp


          可以看到將各個空間大小,使用率,吞吐率,gc情況等等都統(tǒng)計分析出來了。

          這里分析出來的gc時間、吞吐率、空間占用等指標(biāo)要達(dá)到多少才算合格呢?這個和實(shí)際的業(yè)務(wù)需求有很大關(guān)系,有的應(yīng)用吞吐率需要97%以上,有的則95%就滿足了。一般來說,吞吐率應(yīng)該達(dá)到95%以上,gc平均時間應(yīng)該為毫秒級,如果gc平均時間達(dá)到幾秒肯定是不正常了,詳細(xì)可以參考gceasy的關(guān)鍵性能指標(biāo)一文:https://blog.gceasy.io/2016/10/01/garbage-collection-kpi/


          瀏覽 77
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  青青五月丁香在线 | 欧美成人性生活在线视频打开 | 精品国产一区二区三区久久久狼,91精品一 | 国产一级a一片成人AV | 国产激情AV |