java dump文件分析教程 如何用jstat快速監(jiān)控JAVA程序內(nèi)存溢出?
如何用jstat快速監(jiān)控JAVA程序內(nèi)存溢出?Java虛擬機(jī)統(tǒng)計(jì)監(jiān)控工具jstat(JavaVirtualMachinestatisticsmonitoringtool)。是需要,我們得比較明確幫一下
如何用jstat快速監(jiān)控JAVA程序內(nèi)存溢出?
Java虛擬機(jī)統(tǒng)計(jì)監(jiān)控工具jstat(JavaVirtualMachinestatisticsmonitoringtool)。
是需要,我們得比較明確幫一下忙jstat的作用:對(duì)JVM接受統(tǒng)計(jì)監(jiān)控,而且是實(shí)時(shí)動(dòng)態(tài)的。這樣監(jiān)控java虛擬機(jī)的哪些數(shù)據(jù)呢?
我們先看看jstat是如何修改的,linux下先執(zhí)行:
jstat-help
jstat-ltoptiongt[-t][-hltlinesgt]ltvmidgt[ltintervalgt[ltcountgt]]
再看下有哪些options:
jstat-options
簡(jiǎn)述之(其他參數(shù)大家可以不自己換算再練習(xí)去看看都輸出來(lái)哪些數(shù)據(jù)):
jstat-gc-t-h1027691200010
看這一大堆數(shù)字,煩不厭?惡不想吐?有看下來(lái)的心情嗎?通過(guò)這些數(shù)據(jù)來(lái)急速總結(jié)內(nèi)存泄漏問(wèn)題能快速過(guò)來(lái)嗎?
上面是對(duì)jstat的一個(gè)的基本上能介紹,大家應(yīng)該是是可以看出來(lái),想實(shí)際jstat去視頻監(jiān)視內(nèi)存健康狀態(tài)是絕對(duì)沒(méi)問(wèn)題的,但是也得明白的了解JVM的相關(guān)知識(shí),要弄清年長(zhǎng)代、永久代、YGC、FGC,并根據(jù)這些數(shù)據(jù)來(lái)可以確定是否是有內(nèi)存泄漏的問(wèn)題的或風(fēng)險(xiǎn)。
然而,它的確快,線上出問(wèn)題了禁不起你這樣折騰起來(lái)的,因?yàn)檫@里個(gè)人懷疑jstat可以不當(dāng)成一個(gè)監(jiān)控amp預(yù)警工具,而不是問(wèn)題排查工具去不使用。(大家有不同的意見(jiàn)這個(gè)可以評(píng)論區(qū)交流討論~)
這里,我建議您的方法是:
要是你覺(jué)得你的應(yīng)用有內(nèi)存泄漏的問(wèn)題,那就一定不能別重啟后或者突然停止應(yīng)用,要剩余第一現(xiàn)場(chǎng)(這是目標(biāo),準(zhǔn)備沒(méi)有了就等下一次內(nèi)存泄漏吧~是可以確定通過(guò)slb把這臺(tái)機(jī)器揭掉,盡量避免引響用戶)
用java隨機(jī)軟件的工具jmapdump現(xiàn)場(chǎng)文件:jmap-dump:formatb,ltpidgt
用MAT工具總結(jié)heapdump文件,現(xiàn)場(chǎng)文件取得手了,只剩的那是能學(xué)會(huì)不使用MAT分析文件了,反正也用不著你講,不需要做的事情MAT都幫你做了了,按照MAT即可分析出吃內(nèi)存的對(duì)象是什么了,那樣就可以定位到內(nèi)存泄漏的問(wèn)題了。
以上,是我對(duì)java內(nèi)存泄漏問(wèn)題定位的個(gè)人不認(rèn)識(shí),歡迎大家主動(dòng)積極討論學(xué),共同成長(zhǎng)~
vm虛擬機(jī)自動(dòng)重啟的原因
見(jiàn)意檢查下CPU的散熱器有無(wú)直接安裝穩(wěn)定可靠,同樣個(gè)人建議完全恢復(fù)下cmos設(shè)置,確保全內(nèi)存參數(shù)正確的,可能的話,可以檢測(cè)一下內(nèi)存,一般來(lái)說(shuō)物理機(jī)不穩(wěn)定點(diǎn)才會(huì)再次出現(xiàn)自動(dòng)重啟的問(wèn)題。
建議您檢查下CPU的散熱器是否是安裝好穩(wěn)定可靠,而建議您可以恢復(fù)下bios設(shè)置,切實(shí)保障內(nèi)存參數(shù)對(duì)的,可能會(huì)的話,先檢測(cè)幫一下忙內(nèi)存,一般來(lái)說(shuō)物理機(jī)不穩(wěn)定點(diǎn)才會(huì)出現(xiàn)自動(dòng)重啟的問(wèn)題。