神奇的 perfma:一站式解決所有 JVM 疑難雜症!

文章來源:https://mp.weixin.qq.com/s/koeaBWVHqaDlWH6h6McXoA


每一個Java程序員應該都碰到過或多或少的JVM問題,比如:一臺8G的服務器怎麼配置JVM參數?我的JVM參數是否合理?如何分析內存Dump文件?如何分析線程Dump文件,想看一些高質量的JVM相關的文章等等。

如果你從來沒有碰到過這些問題,那你真的不能算是一個合格的Java程序員!

神奇的 perfma:一站式解決所有 JVM 疑難雜症!

JVM參數分析

這是PerfMa公司推出的第一款產品,為用戶學習和使用JVM參數提供便利。即使不太懂JVM參數的初級用戶,也可以藉助本產品得到相對合理的參數列表。從第一版推出至今,已經免費服務了數萬用戶。

JVM參數分析的鏈接地址:https://opts.console.perfma.com/

這塊服務提供了若干個服務:參數查詢、參數檢查、參數變遷、參數優化、參數生成等。

參數查詢如下圖所示,即可以單個查詢JVM參數(-XX:+UseCMSInitiatingOccupancyOnly),也可以批量查詢JVM參數(例如-Xms1280m -Xmx1280m -Xmn480m -Xss256k -XX:PermSize=256m -XX:MaxPermSize=256m -XX:MaxDirectMemorySize=256m -XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=68 -verbose:gc -XX:+PrintGCDetails):

神奇的 perfma:一站式解決所有 JVM 疑難雜症!

參數查詢

參數檢查用法類似,輸入你需要檢查的JVM參數,然後perfma就會給出建議,如下圖所示:

神奇的 perfma:一站式解決所有 JVM 疑難雜症!

參數檢查

參數生成的用法也很簡單,只需要填入環境配置、基礎配置等,perfma就能一鍵生成比較合理的JVM參數。如下圖所示:

神奇的 perfma:一站式解決所有 JVM 疑難雜症!

Java線程Dump分析

定位JVM問題時,我們通常需要分析Java線程Dump(Java線程Dump生成方式為:jstak -l pid > pid.log)。perfma提供了3種形式:本地上傳,HTTP下載,FTP下載。我們一般本地上傳用的比較多。

上傳線程Dump文件後,我們就會得到線程分析結果,如下圖所示:

神奇的 perfma:一站式解決所有 JVM 疑難雜症!

線程Dump分析


Java內存Dump分析

當JVM發生OOM Crash,或者JVM頻繁FGC時我們都需要分析內存Dump文件。當然通常我們都會使用MAT來分析Dump文件。不過perfma對Dump分析結果做了更好的圖形化展示。如下圖所示,就是一個Dump文件的分析結果:

神奇的 perfma:一站式解決所有 JVM 疑難雜症!

內存Dump分析

對了,在這裡說一下,我目前是在職Java開發,如果你現在正在學習Java,瞭解Java,渴望成為一名合格的Java開發工程師,在入門學習Java的過程當中缺乏基礎入門的視頻教程,可以關注並私信我:01。獲取。我這裡有最新的Java基礎全套視頻教程。


分享到:


相關文章: