16年的時(shí)候花了一些時(shí)間整理了一些關(guān)于jvm的介紹文章,到現(xiàn)在回顧起來還是一些還沒有補(bǔ)充全面,其中就包括如何利用工具來監(jiān)控調(diào)優(yōu)前后的性能變化。工具做為圖形化界面來展示更能直觀的發(fā)現(xiàn)問題,另一方面一些耗費(fèi)性能的分析(dump文件分析)一般也不會在生產(chǎn)直接分析,往往dump下來的文件達(dá)1G左右,人工分析效率較低,因此利用工具來分析jvm相關(guān)問題,長長可以到達(dá)事半功倍的效果來。

jvm監(jiān)控分析工具一般分為兩類,一種是jdk自帶的工具,一種是第三方的分析工具。jdk自帶工具一般在jdk bin目錄下面,以exe的形式直接點(diǎn)擊就可以使用,其中包含分析工具已經(jīng)很強(qiáng)大,幾乎涉及了方方面面,但是我們最常使用的只有兩款:jconsole.exe和jvisualvm.exe;第三方的分析工具有很多,各自的側(cè)重點(diǎn)不同,比較有代表性的:MAT(Memory Analyzer Tool)、GChisto等。

對于大型 JAVA 應(yīng)用程序來說,再精細(xì)的測試也難以堵住所有的漏洞,即便我們在測試階段進(jìn)行了大量卓有成效的工作,很多問題還是會在生產(chǎn)環(huán)境下暴露出來,并且很難在測試環(huán)境中進(jìn)行重現(xiàn)。JVM 能夠記錄下問題發(fā)生時(shí)系統(tǒng)的部分運(yùn)行狀態(tài),并將其存儲在堆轉(zhuǎn)儲 (Heap Dump) 文件中,從而為我們分析和診斷問題提供了重要的依據(jù)。其中VisualVM和MAT是dump文件的分析利器。


jdk自帶的工具


延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式