JVM 技術(shù)詳解:GC 日志解讀與分析(番外篇可視化工具)

通過前面的學(xué)習(xí),我們發(fā)現(xiàn) GC 日志量很大,人工分析太消耗精力了。由于各種 GC 算法的復(fù)雜性,它們的日志格式互相之間不太兼容。

有沒有什么工具來減少我們的重復(fù)勞動呢? 這種輪子肯定是有現(xiàn)成的。比如 GCEasy、GCViwer 等等。

這一節(jié)我們就開始介紹一些能讓我們事半功倍的工具。

GCEasy 工具

GCEasy 工具由 Tier1app 公司 開發(fā)和支持,這家公司主要提供3款分析工具:

  • GCEasy,訪問地址:https://gceasy.io/,是一款在線的 GC 日志分析工具,支持各種版本的 GC 日志格式。
  • FastThread,官網(wǎng)地址:https://fastthread.io/,線程分析工具,后面我們專門有一節(jié)課程會進(jìn)行介紹。
  • HeapHero,官網(wǎng)地址:https://heaphero.io/,顧名思義,這是一款 Heap Dump 分析工具。

其中 GCEasy 可用來分析定位GC和內(nèi)存性能問題,支持以下三種模式:

  • 官方網(wǎng)站在線分析(免費(fèi)),我們主要介紹這種方式
  • API 接口調(diào)用(付費(fèi)計劃)
  • 本地安裝(企業(yè)付費(fèi))

特性介紹

作為一款商業(yè)產(chǎn)品,分析能力和結(jié)果報告自然是棒棒的。

  • 可以分析 GC 日志和 JStat 日志
  • 支持上傳文件的方式(免費(fèi))
  • 支持粘貼日志文本的方式(免費(fèi))
  • 支持下載結(jié)果報告 *(付費(fèi)方案)
  • 支持分享鏈接(免費(fèi)】
  • 支持 API 調(diào)用的方式 *(付費(fèi)方案)
  • 企業(yè)版支持本地安裝 *(企業(yè)付費(fèi))
  • 付費(fèi)方案可以免費(fèi)試用:就是說結(jié)果現(xiàn)在也是可以試用下載的

測試案例

我們這里依然使用前面演示的示例代碼,稍微修改一下,讓其執(zhí)行 30 秒左右。

假設(shè)程序啟動參數(shù)為:

-XX:+UseParallelGC
-Xms512m
-Xmx512m
-Xloggc:gc.demo.log
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps

然后我們就得到了一個 GC 日志文件 gc.demo.log。

在線使用示例

打開頁面 https://gceasy.io/,選擇上傳文件或者粘貼文本:

image

比如使用我們前面生成的 gc.demo.log 文件,然后點(diǎn)擊頁面上的分析按鈕,就可以生成分析報告。

如果日志內(nèi)容很大,我們也可以粘貼或者上傳一部分 GC 日志進(jìn)行分析。

1. 總體報告

image

可以看到檢測到了內(nèi)存問題。

2. JVM 內(nèi)存大小分析

image

這里有對內(nèi)存的分配情況的細(xì)節(jié)圖表。

3. GC 暫停時間的分布情況

還有 76% 的精彩內(nèi)容
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
支付 ¥3.99 繼續(xù)閱讀

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容