幾款實用的 GC 日志可視化分析工具!你用的怎么樣?
01、背景介紹
通常情況下,運維人員并不會直接在服務器端通過命令方式實時打印當前應用程序的 GC 日志來分析服務的性能,通常的做法是導出當前服務的 GC 日志文件,然后通過其它的可視化工具來分析服務的性能指標。
今天通過這篇文章,我們一起來了解一下 GC 相關的可視化分析工具。
02、日志分析工具
目前,軟件市場上對 GC 日志進行可視化分析的工具非常多,在此我們介紹幾款業界比較流行的日志分析工具,以便能更加快速的排查 GC 問題。
2.1、GCeasy
GCeasy 是一款在線的 GC 日志分析器,使用起來非常方便,用戶可以通過它的 web 網站導入 gc 日志,實時進行內存泄漏檢測、GC暫停原因分析、JVM 配置建議優化等功能,而且是可以免費使用的(有部分服務是收費的),網站訪問地址如下!
http://gceasy.io
選擇中文語言之后,即可看到如下界面。
圖片
還是以最開頭的代碼為例,在運行的時候,加上如下命令即可導出 gc 日志。
-Xloggc:/Users/xxx/Documents/logs/gc.log
如果是 jar 包的啟動方式,比如 SpringBoot 工程,可以在啟動命令時加上Xloggc參數即可,例如下面的示例。
java -Xloggc:gc.log -XX:+PrintGCDetails -jar application.jar
如果是 war 包的啟動方式,比如放在 tomcat 里面,可以通過修改bin/catalina.sh文件來開啟 gc 日志,例如下面的示例。
JAVA_OPTS='-Xloggc:/tmp/gc.log -XX:+PrintGCDetails'
最后,將導出的 gc 日志,上傳到 GCeasy 中,即可實時統計出相關的 gc 信息。
以下導入 gc 日志后,相關的分析截圖信息,有興趣的朋友,可以自行嘗試一下。
圖片
圖片
2.2、GCViewer
GCViewer 也是一款非常強大的 gc 日志可視化分析工具,與 GCeasy 稍有不同,它需要本地運行,而且完全免費。
安裝和啟動方式如下!
-- 1.下載源碼
git clone https://github.com/chewiebug/GCViewer.git
-- 2.用 IDEA打開項目,使用 maven 進行打包
mvn clean pacakge
-- 3.得到一個 可運行的jar包,在 target目錄下,啟動服務
java -jar gcviewer-1.37-SNAPSHOT.jar
啟動服務之后,會彈出一個類似于如下的界面。
圖片
點擊左上角的按鈕,打開本地的 gc 日志文件,就會顯示了日志分析的結果。
圖片
左側是圖表,右側是數據統計面板,展示的內容還是比較豐富的,有興趣的訪問它的官網特性說明,地址如下。
https://github.com/chewiebug/GCViewer/wiki
03、參考
1.https://juejin.cn/post/7029130033268555807
2.https://www.cnblogs.com/xrq730/p/4836700.html